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