gpt4 book ai didi

c++ - 使用 Visual Studio 链接第三方库

转载 作者:行者123 更新时间:2023-11-30 04:01:41 26 4
gpt4 key购买 nike

我正在尝试使用 Visual Studios 2013 创建一个 .dll。该项目包括 libpq 功能。

根据其他 stackoverflow 帖子和我在互联网上找到的其他来源,我(据我所知)正确地添加了 postgres 库并包含目录到项目中。但是,当我去构建项目时,它返回了一些“未解析的外部符号”错误。

我的路径是 C:\Program Files\PostresSQL\9.3\... 所以我在 Additional Library/Include Directory 字段中将它们用引号括起来。我在项目中包含了 libpq-fe.h 头文件...我只是不确定我做错了什么。

另外请注意,我可以使用带有 -I、-L 和 -lpq 标志的 g++ 从命令行编译测试程序,但我不确定如何从命令行编译为 .dll(加上它增加了我不想处理的复杂性)。

这些是我遇到的具体错误:

1>sql_arma.obj : error LNK2001: unresolved external symbol _PQconnectdb
1>sql_arma.obj : error LNK2001: unresolved external symbol _PQstatus
1>sql_arma.obj : error LNK2001: unresolved external symbol _PQerrorMessage
1>sql_arma.obj : error LNK2001: unresolved external symbol _PQfinish
1>C:\Users\tills13\documents\visual studio 2013\Projects\sql_arma\Release\sql_arma.dll : fatal error LNK1120: 4 unresolved externals

我已经按照下面的建议在我的项目的源文件中包含了 #pragma comment(lib, "libpq.lib"),但我仍然收到这些错误。

最佳答案

我已经成功编译了 sample program通过设置这些项目属性:

  • 添加<pgsql install path>\include\libVC++ Directories->Include->Library,相应地
  • 添加libpq.libLinker->Input->Additional dependencies

这是引用第 3 方库的标准方式。只是他们建议为他们的“基本目录”使用环境变量,以避免在 VCS 下修补项目。

  • 为了能够从 VS 运行应用程序(调试和不调试),我还指定了 PATH=%PATH%;<pgsql install path>\binDebugging->Environment 因为这个目录不在 PATH 中在我的系统上。

关于c++ - 使用 Visual Studio 链接第三方库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25611998/

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