gpt4 book ai didi

c++ - PostgreSQL 独立应用程序

转载 作者:行者123 更新时间:2023-11-28 07:37:23 31 4
gpt4 key购买 nike

我在 Windows 上构建 PostgreSQL 客户端时遇到问题。实际上,它在编译器机器(编译应用程序的机器)上编译得很好并且运行流畅,但是在不同的计算机(没有 postgresql 服务器)上它给我错误 - 它找不到 *.dll。我通过将 .dll 手动添加到应用程序的文件夹来修复此问题(我认为这不是处理此问题的好方法,它仅适用于 32 位计算机)。

你能告诉我应该链接哪些库或者我该如何处理这种情况吗?

谢谢!

最佳答案

您很可能正在使用主要的 PostgreSQL 客户端库 libpq.dll。您可以使用 Dependency Walker 确定它需要哪些库,但从内存来看,它只需要与 PostgreSQL bin 目录中的同一目录中的 openssl DLL,也许还有 zlib。我现在没有方便的 Windows 框来检查。 libpq 及其来自 PostgreSQL bin 文件夹的直接依赖项应该与您的应用程序捆绑在与应用程序可执行文件相同的目录中。它们不会被除您的应用程序以外的任何东西使用,并且不会与系统上其他地方安装的软件发生冲突。

我怀疑还有一个额外的依赖项可能会困扰您:您需要在目标计算机上安装适当版本的 Microsoft Visual Studio C++ Redistributable。这是由 PostgreSQL 安装程序自动安装的。如果您在应用程序中捆绑 libpq,您的安装程序也必须运行 redist 安装程序。所需的版本完全取决于您使用的 PostgreSQL 版本(您忽略了这一点);可以用 dependency walker 来确定。

关于c++ - PostgreSQL 独立应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16510466/

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