Ошибка связи с libpq с использованием C ++ - PullRequest
1 голос
/ 17 марта 2011

Я пытаюсь использовать libpq для подключения к моей базе данных PostgreSQL и намереваюсь вызвать предопределенные функции, как только я получу эту работу.Прямо сейчас я просто ввел строку conninfo и проверил соединение.Наконец, выяснив, как включить в мой проект разные каталоги кода и пути к библиотекам (Netbeans 6.9.1 для Windows 7, компилятор MinGW), я обнаружил эту ошибку:

g ++. Exe -c -I/ C / Program \ Files / PostgreSQL / 9.0 / include -MMD -MP -MF build / Debug / MinGW-Windows / main.od -o build / Debug / MinGW-Windows / main.o main.cpp

mkdir -p dist / Debug / MinGW-Windows

g ++. exe -o dist / Debug / MinGW-Windows / toolboxconnect build / Debug / MinGW-Windows / main.o -L / C / Program \ Files/PostgreSQL/9.0/lib -lpq

c: / Program Files / PostgreSQL / 9.0 / lib / libpq.dll: файл не распознан: формат файла не распознан
collect2: ld вернул 1 состояние выхода

Я искал много тем по причине того, почему это не могло быть распознано, но люди предлагают другим, что это потому, что они работают 64-битные, и нужно будет восстановить библиотеки.Я не думаю, что моя установка PostgreSQL шла с make-файлами для их перекомпиляции, и предполагал, что они будут хороши в том виде, как они есть.Есть ли какая-либо другая причина, по которой моему компоновщику не понравилась моя библиотека libpq / какие-то другие исправления?

1 Ответ

2 голосов
/ 17 марта 2011

У кого-то еще только что была похожая проблема с libpq.

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

Я очень не хочу просто засунуть вас в ад зависимости "Ваша зависимость не работает? Загрузите исходный код и перекомпилируйте его самостоятельно!"- но, к сожалению, на данный момент это единственный вариант для postgres.

...