【原创】MySQL Connector/C 库的版本选择


       公司内部封装的的 dbi 库依赖于 mysql connector/c 库,但由于历史原因,其所依赖的  mysql connector/c 库的版本为原始的 v6.0.2 , 为了对此现状作出调整,现梳理如下:

v6.0.2


[win]
(动态库)
libmysql.dll
libmysql.lib
(静态库)
mysqlclient.lib

[linux]
(共享库)
libmysql.so.16.0.0
(静态库)
libmysqlclient.a

v6.1.5


=== 以下针对动态库 ===

[win release]

libmysql.dll
libmysql.lib

libmysql.pdb

auth_win_client.pdb
mysys.pdb
mysys_ssl.pdb
strings.pdb
taocrypt.pdb
vio.pdb
yassl.pdb
zlib.pdb

[win debug]

libmysql.dll
libmysql.lib

clientlib.pdb

auth_win_client.lib
auth_win_client.pdb

mysys.lib
mysys.pdb

mysys_ssl.lib
mysys_ssl.pdb

strings.lib
strings.pdb

taocrypt.lib
taocrypt.pdb

taocrypt.lib
taocrypt.pdb

yassl.lib
yassl.pdb

zlib.lib
zlib.pdb


=== 以下针对静态库 ===

[vs10 release]
mysqlclient.lib
mysqlclient.pdb

[vs10 debug]
mysqlclient.lib
mysqlclient.pdb
clientlib.lib
clientlib.pdb

===  ===

[vs11 release]
mysqlclient.lib
mysqlclient.pdb

[vs11 debug]
mysqlclient.lib
mysqlclient.pdb

[linux]
libmysqlclient.a
libmysqlclient.so.18.3.0

结论:
  • windows 下的动态链接库 .dll 不需要区分编译器版本。
  • 由于业务开发在调试阶段大多是在 XP 系统环境下下,其使用的 dbi 库所依赖的 mysql 客户端库只能使用 v6.0.2 版本的 win 库(因为使用高于 6.1.2 版本的库会报未定义xxx条件变量的错误)。而在商用环境下,均是在 linux 服务器上运行,所以可以使用高版本的 mysql 客户端库。
综上,工程目录中的文件类型如下

10-common\lib\Debug\win32 和 10-common\lib\Release\win32 中上传的是 v6.0.2 版本的 win 库
libmysql.dll
libmysql.lib

10-common\lib\Debug\linux 和 10-common\lib\Release\linux 中上传的是 v6.1.5 版本的 linux 库
libmysqlclient.so.18.3.0

以上库均为 32bit 。


你可能感兴趣的:(c,mysql,connector)