使用pqxx的简单C ++程序(postgres)

时间:2013-06-30 02:33:07

标签: c++ postgresql database-connection codeblocks libpqxx

我正在使用Code :: Blocks尝试一个非常基本的C ++程序。我在Ubuntu 12.04上并从软件管理器安装了pqxx。这是代码。

#include <pqxx/pqxx>
#include <iostream>

using namespace std;
int main()
{

    pqxx::connection MyConn ("dbname=dbESM user=postgres");


    cout << "Hello world!" << endl;

    return 0;
}

但是在按F9编译并运行时出现以下错误:

  

/usr/include/pqxx/connection.hxx|87|未定义的引用   `pqxx :: connectionpolicy :: connectionpolicy(std :: basic_string,std :: allocator&gt; const&amp;)&#39;

以上消息来自文件connection.hxx,突出显示的行是:

  explicit connect_direct(const PGSTD::string &opts) : connectionpolicy(opts) {}

connection.hxx文件不是我的 - 我认为它是pqxx的一部分。

我对这个平台很陌生,所以我避免终端编译代码。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:4)

您需要将libpqxx库的引用添加到项目中。

在Code :: blocks中,当项目打开时,在菜单中找到Project,然后按Build options,然后打开名为Linker settings的标签,然后点击Add },然后输入pqxx

如果您使用的是libpq C库,则该过程将完全相同,但名称将为pq

答案 1 :(得分:0)

你需要链接到相应的库,只是#include头文件是不够的。如果可用,您可以使用pkg-config来确定相应的库。此外,您使用的是什么IDE?没有它,“打击F9”参考是没用的。此外,在命令行上编译它可能更容易,因为它更清楚到底发生了什么。