Почему я получаю ошибки компиляции при попытке подключиться к postgresql с помощью c? - PullRequest
2 голосов
/ 27 мая 2011

Я пытался создать простую программу на c, которая должна подключаться к моей базе данных postgres, но я не могу узнать о следующих ошибках компиляции ... Я использую Ubuntu (но также пытался скомпилировать на Fedora - с теми же ошибками ...)

uname --all
Linux alp2nwmon001 2.6.35-25-server #44-Ubuntu SMP Fri Jan 21 19:09:14 UTC 2011 x86_64 GNU/Linux

Я уже установил библиотеки libpq-dev для libg включительно с помощью postgres, и я понятия не имею, почему этот простой код не работает ...

#include "/usr/include/postgresql/libpq-fe.h"

int main () {
        PGConn *test;
        return 0;
}

Я также пробовал множество вариантов, таких как: #include <libpq-fe.h> и указываю путь к файлу .h при вызове gcc. Но всегда одни и те же ошибки ...

gcc -c -I/usr/include/postgresql/ -L/usr/lib/ -lpq pqtest.c -o postgres
 pqtest.c: In function main:
 pqtest.c:4: error: PGConn undeclared (first use in this function)
 pqtest.c:4: error: (Each undeclared identifier is reported only once
 pqtest.c:4: error: for each function it appears in.)
 pqtest.c:4: error: test undeclared (first use in this function)

Далее я нашел много хоутос, но результат все тот же:

Я также проверил описание API на веб-странице postgres, но все равно не повезло.

На мой взгляд, все файлы существуют там, где должны существовать ...

ls -lah /usr/include/postgresql/libpq-fe.h 
-rw-r--r-- 1 root root 20K 2011-04-20 16:36 /usr/include/postgresql/libpq-fe.h

И библиотеки ...

ls /usr/lib/ | grep pq
libpq.a
libpq.so
libpq.so.5
libpq.so.5.2
libpqxx-2.6.9.so
libpqxx.la
libpqxx.so

Я надеюсь, что кто-нибудь может помочь мне здесь ... Спасибо, roegi

Ответы [ 2 ]

2 голосов
/ 27 мая 2011

Используйте PGconn вместо PGConn.

0 голосов
/ 27 мая 2011

Как насчет:

#include <pgconn.h>
...