Я пробую очень простую программу на С++, используя Code::Blocks. Я на 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 > const&)'
Приведенное выше сообщение взято из файла connection.hxx, и выделена следующая строка:
explicit connect_direct(const PGSTD::string &opts) : connectionpolicy(opts) {}
Файл connection.hxx не мой - я думаю, что это часть pqxx.
Я новичок в этой платформе, поэтому я избегаю терминала для компиляции кода. Любая помощь будет принята с благодарностью.
libpq
иlibpqtypes
. - person Craig Ringer   schedule 30.06.2013libpq
действительно является чистой библиотекой C. Это означает, что требуется немного больше работы для управления ресурсами и обработки ошибок, поскольку нет исключений, нет RAII и нет автоматических dtors. OTOH, вы можете использоватьlibpqtypes
, который может многое упростить. Не уверен, что это работает сlibpqxx
. - person Craig Ringer   schedule 01.07.2013