从其它平台迁移而来
环境
-
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运行时。