MINGW FOR MYSQL(转) 少量个人总结

其实要加@xx等信息,就可以直接利用mysql++ 里面的一个 mysqlclient.def 的文件来生成libmysqlclient.lib 本人经测试,已经成功。生成lib的具体方法 见下转载的地方。 ­ http://mysql.blogbus.com/logs/7701.html ­ 我们需要Mingw32下的一些工具,它们是pexports和dlltool,dlltool是gcc所附带的一般都有,而pexports则不一定,dev-cpp并没有此工具所以记得要单独下载。 ­ 我们用pexports产生动态链接库的模块定义文件,用dlltool来产生相应的动态链接文件.a。 ­ 产生libmysql.dll的模块定义文件 ­ pexports libmysql.dll具体位置 > 模块定义文件存放位置 ­ 例如:pexports c:/mysql/lib/opt/libmysql.dll > c:/mylibs/libmysql.def ­ 产生一个供编译时所使用的动态库链接接口文件.a ­ dlltool --input-def 定义文件位置 --dllname DLL名称 --output-lib 输出目录 ­ 例如:dlltool --input-def c:/mylibs/libmysql.def --dllname libmysql.dll --output-lib c:/mylibs/libmysql.a -k ­ 然后我们将此文件连同mysql的头文件复制到mingw可以访问到的位置。 ­ 编译文件我们可以使用-lmySQL链接libmysql.a,记得要同时链接其所需要的winsock api上(用-lws2_32)。 ­ 如果编译的时候提示xxxx@xx未定义的情况则需要手工改写.def文件在函数名称之后加上@xx。 ­ 这个样子的话记得发布文件的时候包含上libmysql.dll,否则最终程序会提示找不到libmysql.dll无法运行的问题

你可能感兴趣的:(MINGW FOR MYSQL(转) 少量个人总结)