Уже вынесла мозг библиотека, после 7 часовых попыток подключить и гугланию форумов.
Поставил сервер postgre sql, все нормально.
Теперь необходимо подключить возможность управлять бд, через c++, в Visual Studio 2010.
Создал проект, создал консольное приложение С++.
Перенес библиотеку libpq.lib
с C:\Program Files (x86)\PostgreSQL\9.1\lib\libpq.lib
в C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\libpq.lib
Подключил библиотеку libpq.lib в Свойства проекта -> Компоновщик -> Дополнительные зависимости
Перенес заголовочные файлы
с C:\Program Files (x86)\PostgreSQL\9.1\include\
в C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include\postgresql\
#include <iostream> #include <postgresql/libpq-fe.h> #pragma comment(lib, "libpq.lib") USING namespace std; int main(int argc, char **argv) { // Дескриптор соединения с базой данных PGconn *conn; // Дескриптор результирующей таблицы PGresult *res; // Параметры соединения const char * conninfo = "dbname = postgres user=postgres password=pass"; // Устанавливаем соединение (ВНИМАНИЕ имя вашей базы данных) conn = PQconnectdb(conninfo); // Убеждаемся в том, что соединение установлено IF (PQstatus(conn) != CONNECTION_OK) { cout << "Connection to database failed: " << PQerrorMessage(conn) << endl; system("pause"); RETURN 1; } // Выполняем запрос res = PQexec(conn, "SELECT VERSION();"); IF (PQresultStatus(res) != PGRES_TUPLES_OK) { cout << "SQL-query failed: " << PQerrorMessage(conn) << endl; PQclear(res); system("pause"); RETURN 1; } // Выводим результат cout << PQgetvalue(res, 0, 0) << endl; // Освобождаем память, выделенную под результирующую таблицу PQclear(res); // Закрываем соединение с базой данных PQfinish(conn); // Пауза перед закрытием system("pause"); RETURN 0; }
1>------ Построение начато: проект: 5 семестр, Конфигурация: Release Win32 ------ 1>Построение начато 04.09.2013 19:25:31. 1>InitializeBuildStatus: 1> Обращение к "Release\5 семестр.unsuccessfulbuild". 1>ClCompile: 1> Для всех выходных данных обновления не требуется. 1> Для всех выходных данных обновления не требуется. 1>test.obj : error LNK2001: неразрешенный внешний символ "_PQexec" 1>test.obj : error LNK2001: неразрешенный внешний символ "_PQconnectdb" 1>test.obj : error LNK2001: неразрешенный внешний символ "_PQclear" 1>test.obj : error LNK2001: неразрешенный внешний символ "_PQstatus" 1>test.obj : error LNK2001: неразрешенный внешний символ "_PQfinish" 1>test.obj : error LNK2001: неразрешенный внешний символ "_PQerrorMessage" 1>test.obj : error LNK2001: неразрешенный внешний символ "_PQresultStatus" 1>test.obj : error LNK2001: неразрешенный внешний символ "_PQgetvalue" 1>C:\Users\KEY\documents\visual studio 2010\Projects\5 семестр\Release\5 семестр.exe : fatal error LNK1120: 8 неразрешенных внешних элементов 1> 1>СБОЙ построения. 1> 1>Затраченное время: 00:00:00.33 ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
Попробуйте вместо #include
Попробуйте вместо
#include <postgresql/libpq-fe.h>
, так#include "postgresql/libpq-fe.h"