通过c++ -Interface访问PostgreSQL(链接错误)
Access PostgreSQL via C++-Interface (Linker error)
我使用visual studio 2012 Ultimate和PostgreSQL 9.2 64位。我设置了一个全新的项目,设置如下:
附加包含文件夹:"C:Program FilesPostgreSQL9.2include"
附加库文件夹:"C:Program FilesPostgreSQL9.2lib"
我链接到"libpq.lib"。
我的问题是这样的:
#include <iostream>
using namespace std;
#include <libpq-fe.h>
int main() {
PGconn *psql = PQconnectdb("hostaddr = '127.0.0.1' port = '' dbname = 'fwaggle' user = 'fwaggle' password = 'password' connect_timeout = '10'");
/* init connection */
if (!psql) {
}
std::cin.get();
return 0;
}
结果:"error LNK2019: Verweis auf night aufgelöstes externes Symbol "_PQconnectdb" in function "_main"。我无法摆脱这个链接错误,我做错了什么?
看看这个链接:http://www.askyb.com/cpp/c-postgresql-example/
它建议你必须设置额外的依赖以及额外的包括和Lib文件夹。
如果失败,请仔细检查您试图调用的方法的名称,并仔细检查Additional Includes和Lib设置中的路径;从资源管理器中复制并粘贴它们以确保。
您可能还需要使用dependencies .exe来检查DLL是否实际上正在导出您所需要的方法。
我知道是怎么回事了:
如所述,我安装了PostgreSQL 64位,但我试图编译和链接一个32位的项目反对64位libpg从PostgreSQL。从WIN32切换到x64后,链接成功。
相关文章:
- 静态数据成员的问题-修复链接错误会导致编译器错误
- Visual Studio mkl_link_tool.exe链接错误
- C++ 实现模板单例类时出现链接错误
- 使用类模板的方法链接错误
- MySQL C++连接器链接错误
- VS 2015 链接错误 无法构建依赖于 libcurl 的项目
- 运行 C++ 单元测试时LNK2005链接错误
- 对 CMake 中'cudaRegisterLinkedBinary'链接错误的未定义引用?
- 链接错误,包括我创建的相同头文件 - C++
- 在Embarcadero C++ Builder中生成的DLL未解决的外部链接错误
- 使用标头保护的多个定义链接错误
- 链接错误:未定义对 stdscr 和 wgetch 的引用
- 使用 Vivek 的 Vcam / 捕获源过滤器构建/链接错误
- 升压program_options中的链接错误
- 使用 g++ 预处理器进行替换会导致链接错误
- 在调试配置中编译工作正常,但发布会给出链接错误
- 相邻矩阵设置链接错误
- 包含常量变量并包含在多个文件中的标头的链接错误
- C++链接错误,我理解但无法解决
- 是什么导致macOS Mojave上的GoogleTest链接错误