公司内部封装的的 dbi 库依赖于 mysql connector/c 库,但由于历史原因,其所依赖的
mysql connector/c 库的版本为原始的 v6.0.2 ,
为了对此现状作出调整,现梳理如下:
[win]
(动态库)
libmysql.dll
libmysql.lib
(静态库)
mysqlclient.lib
[linux]
(共享库)
libmysql.so.16.0.0
(静态库)
libmysqlclient.a
=== 以下针对动态库 ===
[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
结论:
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 。
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 。