从其它平台迁移而来
环境
-
Lazarus v2.2.4(32位/64位)
-
MySQL 8.0.31 64位
-
PostgreSQL 15.1 64位
坑
MySQL
Lazarus v2.2.4
已内置MySQL8.0
的TMySQL80Connection
组件,但是连接时却提示Can not load MySQL library "libmysql.dll". Please check your installation.
使用64位编译,放进64位MySQL8.0.31的libmysql.dll
仍然报该错,一直到把版本降到5.7
系列才正常,换32位编译,同样的结果:使用5.7
系列的libmysql.dll
可正常使用。
PostgreSQL
连接PostgreSQL
时,同样遇到与MySQL
类似的报错:Can not load PostgreSQL client library "libpq.dll". Check your installation.
按照与MySQL
相同的思路,版本从15.1
一直降到目前支持的最低版本9.2.24
,仍然报错!
查一下官方论坛,各种方式试了一通,发现64位的程序除libpq.dll
外,v11+
还需要libcrypto-3-x64.dll
、libiconv-2.dll
、libintl-9.dll
、libssl-3-x64.dll
和libwinpthread-1.dll
;v9.4
~v10.23
还需要libcrypto-1_1-x64.dll
、libiconv-2.dll
、libintl-8.dll
、libssl-1_1-x64.dll
。
而32位程序,最高可用版本为v10.23
,除libpq.dll
外,还需要libcrypto-1_1.dll
、libiconv-2.dll
、libintl-8.dll
、libssl-1_1.dll
,必要时可能还需要VC运行时。