PostgreSQL独立应用
PostgreSQL standalone application
我在Windows上构建PostgreSQL客户端时遇到了问题。实际上,它在编译器机器(编译应用程序的机器)上编译得很好,运行得很顺利,但在不同的计算机上(没有postgresql服务器),它会给我错误-它找不到*.dll。我通过手动将.dll添加到应用程序的文件夹来解决这个问题(我不认为这是处理这个问题的好方法,它只适用于32位机器)。
你能告诉我我应该链接哪些库或者我该如何处理这种情况吗?
谢谢!
您最有可能使用libpq.dll
, PostgreSQL的主要客户端库。您可以使用Dependency Walker来确定它需要哪些库,但从内存来看,它只需要与PostgreSQL bin dir中相同目录下的openssl dll,也许还有zlib。我现在没有一个方便的Windows盒子来检查。libpq
和它在PostgreSQL bin
文件夹中的直接依赖关系应该与你的应用程序捆绑在同一个目录下,就像你的应用程序可执行文件一样。它们不会被你的应用程序以外的任何东西使用,也不会与系统上其他地方安装的软件产生冲突。
我怀疑有一个额外的依赖关系可能会困扰您:您需要在目标机器上安装适当版本的Microsoft Visual Studio c++ Redistributable。它由PostgreSQL安装程序自动安装。如果在应用程序中绑定libpq,那么安装程序也必须运行redist安装程序。所需的版本取决于你正在使用的PostgreSQL版本(你忽略了提到);
相关文章:
- 如何将独立的 c 应用程序组合到 c++ 应用程序中?
- 应用程序仅在qt调试器中加载dll,而不是独立加载
- 将C 代码编译到独立应用程序.App
- 有什么理由更喜欢从 IDE 中运行应用程序而不是运行独立的可执行文件?
- 多线程应用程序中的独立日志记录
- 独立应用程序Qt
- 使用Qt制作静态构建(独立应用程序)
- Qt应用程序:如何从Mac为Windows(和Mac)创建独立的可执行文件?
- 如何从.NET生成独立的控制台应用程序
- 如何将perl+cpp转换为独立的应用程序
- 如何使用'C'或'C++'为窗口创建独立的程序或应用程序
- 一个应用程序实例,独立于平台,C++11
- 我需要一个Windows 8 WinRT应用程序来与用C编写的独立应用程序通信
- 为独立的 c++ 应用程序/模块编写解释器
- 使用Xcode制作平台独立应用
- 两个独立的Qt应用程序可以使用相同的DLL文件吗?
- PostgreSQL独立应用
- 用c++插件为nodejs应用程序构建一个独立的可执行文件
- V8独立应用仅在发布签名的apk上死于SIGILL
- 用c++创建一个独立的Solidworks应用程序