我正在將應用程序從MySQL移動到Postgres。當我嘗試編譯連接到數據庫的簡單應用程序時,我可以將其與libpq.lib
鏈接,並且編譯和執行成功。但是,這需要我在我的程序的目錄中包含大約8 .dll
文件,這非常令人煩惱。有什麼方法可以靜態鏈接libpq.lib
,所以我不需要任何.dll
文件?我在Windows7 x64上,我正試圖建立一個在x64和x86窗口上工作的獨立於體系結構的應用程序。我正在使用libpq版本8.4.9.1。謝謝!在C++中靜態鏈接libpq ++ postgresql
更新:我已經嘗試將#define PQ_STATIC
和-static
添加到鏈接器標誌。我也從源代碼編譯了libpq.a
,但以上都沒有奏效。
我剛剛嘗試從源代碼編譯庫,並獲得libpq.a,然後我與應用程序鏈接成功編譯。但是,我仍然無法運行沒有'.dll'文件的程序。我認爲有一些'#define'我缺少或編譯器標誌。請注意,'libpq.a'大於'libpq.lib'。 – user99545
'libpq.a'將會比'libpq.lib'更大,因爲它包含了實現。 – dipesh