gpt4 book ai didi

c++ - C++ 中 libpq++ postgresql 的静态链接

转载 作者:太空狗 更新时间:2023-10-29 21:06:10 25 4
gpt4 key购买 nike

我正在将一个应用程序从 MySQL 迁移到 Postgres。当我尝试编译连接到数据库的简单应用程序时,我可以将其与 libpq.lib 链接并成功编译和执行。然而,这要求我在我的程序目录中包含大约 8 个 .dll 文件,这非常令人恼火。有没有办法静态链接 libpq.lib 所以我不需要任何 .dll 文件?我在 Windows7 x64 上,我正在尝试构建一个可在 x64 和 x86 窗口上运行的独立于体系结构的应用程序。我正在使用 libpq 版本 8.4.9.1。谢谢!

更新:我尝试将 #define PQ_STATIC-static 添加到链接器标志。我还从源代码编译了 libpq.a,但以上均无效。

最佳答案

Libpq 需要一些相当大的库,例如用于加密连接的 openssl、用于压缩的 zlib、用于字符集转换的 iconv 等。您必须将所有这些库编译为静态库,然后将 libpq 编译为静态库,然后将您的程序静态编译。我认为工作太多而收获太少。

有一个商业工具,PgWare Alloy 4 ,可用于将 DLL 与 EXE 合并。我想它只是将所有合并的文件提取到临时目录,然后从该目录运行您的程序。

关于c++ - C++ 中 libpq++ postgresql 的静态链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8085460/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com