2011-03-17 50 views
1

我試圖使用libpq連接到我的PostgreSQL數據庫,並打算一旦我得到這個工作時調用預定義的函數。現在我只需輸入conninfo字符串,並測試連接。終於搞清楚如何包括不同的代碼目錄和庫路徑後(Netbeans的6.9.1在Windows 7上,MinGW的編譯器)在我的項目,我發現這個錯誤:使用C++連接libpq錯誤

g++.exe -c -I/C/Program\ Files/PostgreSQL/9.0/include -MMD -MP -MF build/Debug/MinGW-Windows/main.o.d -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: file not recognized: File format not recognized
collect2: ld returned 1 exit status

我已經搜查了許多議題的原因爲什麼這不能被認可,但人們向其他人建議,因爲他們運行64位,並且需要重建dll。我不認爲我的PostgreSQL安裝附帶makefile以重新編譯這些文件,並且認爲它們會很好用。有什麼其他原因爲什麼我的鏈接器不喜歡我的libpq庫/其他類型的修復?

回答

2

Someone else剛剛與libpq有類似的問題。

從該答案之後的討論中,可以看到download the source code的鏈接,因此您可以重新構建它以滿足您的需求。有不同的版本可用,所以請確保你下載了你想要的。

我真的很討厭只是堅持依賴地獄的「你的依賴不起作用嗎?下載源代碼並自己重新編譯它!」但遺憾的是,這似乎是目前postgres的唯一選擇。