我最近决定尝试将PostgreSQL用作我正在从事的某些C++开发的数据库平台。我决定将libpqxx用作我的项目的连接库,并很快发现从Windows 10机器上的VS 2015开始这将是艰巨的任务。

经过大量的咬和咬之后,我得到了libpqxx可以在Windows 10上进行编译。
这使我具有以下目录结构

c++ - 在Windows 10上从Visual Studio 2015链接libpqxx-LMLPHP

根据libpqxx的文档,我还将libpq.dll的副本放置在项目的可执行目录中。请注意:我已经在调试和发行版本中做到了这一点,试图同时进行构建,并最终得到相同的结果。

我看过的所有教程似乎都表明,链接该库后即可使用该库,只需简单地#include pqxx / pqxx,因此我建立了一个小型项目来完成该工作。我收到错误:



尝试构建项目时。我也尝试过将调试和发布版本都无效。

这是我的链接器设置的screenshot

是否有人对我如何能够从Visual Studio 2015中链接和使用此库有任何建议?

最佳答案

正如Sami Kuhmonen指出的那样,这实际上不是链接器错误,而是编译器错误。我需要包含一个实际的 header ,Visual Studio需要该 header 。将正确的文件夹(在我的情况下为C:\ libpqxx \ include)添加到Visual Studio的“其他包含目录”设置下(在c \ C++->常规下,按照drescherjm的建议),程序可以正常编译。

备查:
解决最初的问题后,我也确实遇到了无法解决的外部链接器错误。这是因为您需要确保还链接到ws2_32.lib和libpq.lib。您还需要将libpq也依赖的其他一些DLL文件复制到libpqxx lib文件夹中。在我的系统上,我相信它们是ssleay32.dll,libeay32.dll和libintl-8.dll。这些文件位于PostgreSQL安装的根目录下。在libpqxx的INSTALL.txt文件下提到了DLL步骤,但是我认为它表明DLL驻留在我实际找到它们的位置下的一个文件夹中。

关于c++ - 在Windows 10上从Visual Studio 2015链接libpqxx,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34579664/

10-11 06:50