2013-04-04 1 views
0

Im using visual studio 2012 Ultimate и PostgreSQL 9.2 64 бит. я создал совершенно новый проект со следующими параметрами:Доступ к PostgreSQL через C++ - Интерфейс (ошибка компоновщика)

Дополнительно включает в себя папку: "C: \ Program Files \ PostgreSQL \ 9.2 \ включать \"

Дополнительная папка Libs: «C: \ Program Files \ PostgreSQL \ 9.2 \ lib \ "

Im linking" 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; 
} 

Результат: «ошибка LNK2019: Verweis Ауф NICHT aufgelöstes externes Символ " _PQconnectdb" в Funktion "_MAIN" Я не могу избавиться от этой ошибки линкера, о чем это я делаю неправильно

+3

Для тех, кто не может догадаться, что говорит об ошибке: * Ссылка на неразрешенный внешний символ «_PQconnectdb» в функции «_main» *. – Oswald

ответ

2

Хорошо я понял, что происходит:

Как написано я установил PostgreSQL 64 бит, но я попытался собрать и связать 32 битный проект против 64-битного libpg с PostgreSQL. После перехода с WIN32 на x64 соединение было успешным.

2

Взгляните на этой ссылке:? http://www.askyb.com/cpp/c-postgresql-example/

Это говорит о том, что вы должны установить дополнительную зависимость, а также дополнительные Включают и Lib папки

0.

В противном случае дважды проверьте имя метода, который вы пытаетесь вызвать, и дважды проверьте пути в настройках дополнительных включений и Lib; скопируйте и вставьте их из Проводника, чтобы убедиться.

Возможно, вы также захотите использовать файл depend.exe, чтобы проверить, действительно ли DLL экспортирует метод, который вы используете.

+0

Просто хотел указать, что я столкнулся с той же проблемой, что и вопрос, и установив libpq.dll в качестве дополнительной копии, работал для меня после копирования libpq.dll и libint.dll в локальный каталог! – user3791372