mysql c的api 调用实例
mysql c的api 调用实例
这些天想调试erlang的nif调用c cpi所以就下载源码了,主要想生成一个mysql_nif.dll链接库。
win下:
解压源码出来,lib目录下libmysql.dll、libmysql.lib、mysqlclient.lib三个文件,觉得挺奇怪的,,然后询问了达达同事也gg了一下,于是发现了如果使用链接libmysql.lib那么必须在生成dll同目录下有libmysql.dll。如果使用mysqlclient.lib,,那么代码必须加上链接
#pragma comment(linker,”/nodefaultlib:LIBCMT.lib”)
#pragma comment(linker,”/nodefaultlib:MSVCRTD.lib”)。
然后vs2010配置属性就可以生成mysql_nif.dll了。。
在linux下:
比较简单了,按以下编译即可。
gcc-fPIC-shared-o mysql_nif.so mysql_nif.c-I/usr/local/mysql/include/mysql-L/usr/local/mysql/lib/mysql-l mysqlclient-I/usr/local/lib/erlang/erts-5.8/include