从其它平台迁移而来


环境

  • Lazarus v2.2.4(32位/64位)

  • MySQL 8.0.31 64位

  • PostgreSQL 15.1 64位

MySQL

Lazarus v2.2.4已内置MySQL8.0TMySQL80Connection组件,但是连接时却提示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.dlllibiconv-2.dlllibintl-9.dlllibssl-3-x64.dlllibwinpthread-1.dllv9.4~v10.23还需要libcrypto-1_1-x64.dlllibiconv-2.dlllibintl-8.dlllibssl-1_1-x64.dll

而32位程序,最高可用版本为v10.23,除libpq.dll外,还需要libcrypto-1_1.dlllibiconv-2.dlllibintl-8.dlllibssl-1_1.dll,必要时可能还需要VC运行时。