基于Delphi+FireDAC的PostgreSQL应用多平台部署所需文件咨询
刚好我之前也做过类似的FireDAC+PostgreSQL跨平台部署,给你整理下三个平台各自需要的文件清单,都是实际踩坑后的总结:
Windows 7 部署所需文件
- 你的应用主程序.exe(32位或64位,对应你编译的版本)
- FireDAC核心依赖库:
FireDAC.dll:FireDAC运行核心FireDAC.Phys.PG.dll:PostgreSQL专属的FireDAC物理驱动- 基础支撑库:
FireDAC.Stan.Intf.dll、FireDAC.Stan.Option.dll、FireDAC.Stan.Error.dll、FireDAC.Stan.Param.dll、FireDAC.Stan.Async.dll、FireDAC.Stan.Def.dll,要是拿不准哪些需要,直接把Delphi安装目录下Redist\Win32\FireDAC(或Win64)里的所有dll都拷过去,省得漏了某个导致启动失败
- PostgreSQL客户端依赖:
libpq.dll,要和应用位数匹配(32/64位),版本尽量和服务器端接近,避免兼容性问题 - 注意:如果是64位应用,Windows 7必须升级到SP1及以上版本才能运行
Ubuntu 部署所需文件
- 你的ELF格式可执行文件(Delphi编译Linux平台生成的二进制程序)
- FireDAC相关.so库:
libFireDAC.so:核心运行库libFireDAC.Phys.PG.so:PostgreSQL驱动- 对应的Stan系列基础库:
libFireDAC.Stan.Intf.so、libFireDAC.Stan.Option.so等,从Delphi安装目录Redist\Linux64\FireDAC里复制即可
- PostgreSQL客户端依赖:直接通过系统包管理器安装
libpq5,执行命令sudo apt-get install libpq5就行,比单独拷贝so文件更稳定,系统会自动处理关联依赖 - 部署后记得给应用加执行权限:
chmod +x 你的应用文件名 - 基础系统库:Ubuntu默认自带
libc6、libstdc++6这些,但如果是老版本Ubuntu,可能需要更新这些库到兼容版本
macOS 部署所需文件
- 你的应用包(.app):Delphi编译macOS平台会生成这个格式的完整应用包,是主要部署文件
- FireDAC相关.dylib库:
libFireDAC.dylib、libFireDAC.Phys.PG.dylib- 对应的Stan系列dylib:
libFireDAC.Stan.Intf.dylib、libFireDAC.Stan.Option.dylib等,复制到.app包内部的Contents\Frameworks目录下
- PostgreSQL客户端依赖:
libpq.dylib,可以从PostgreSQL官方客户端包提取,或者用Homebrew安装postgresql后获取,同样放到Contents\Frameworks里(打包进应用包比让用户单独装更友好) - 额外注意:如果要分发给普通用户,最好给.app包做代码签名,不然macOS会提示"未知开发者"拦截运行,可用
codesign命令完成签名;另外macOS 10.14+可能需要申请网络访问权限,应用首次运行会弹窗请求
内容的提问来源于stack exchange,提问作者Kerbadou Ghazali
相关产品推荐
相关产品推荐

