Неопределенная ссылка на PQfinish, хотя библиотеки и т. Д. Включены [дубликаты]

0

Я пытаюсь скомпилировать приложение C++, используя libpq. На моем Debian он компилируется с помощью следующей команды:

g++ -I /usr/include/postgresql/ -L /usr/lib/postgresql/9.3/lib/ -lpq -o test test.cpp

На моем Ubuntu я получаю следующую ошибку:

undefined reference to 'PQfinish'

Я включил ссылку на заголовки и библиотеки postgresql и использовал -lpq. Что мне не хватает?

Теги:
g++
libpq

1 ответ

1
Лучший ответ

Переместите -lpq в конец командной строки.

Связывание выполняется в указанном порядке, и объекты берутся только из библиотек, если они необходимы для разрешения символов в этой точке. Поэтому каждая библиотека должна появиться после любого другого объекта, который в ней нуждается.

  • 0
    Спасибо. Это добилось цели. Странно, это работает на моем Debian.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню