2014-05-07 240 views
0


我有一些問題鏈接在Windows上使用Qt Creator的庫(MinGW)。我有2個項目,一個靜態庫和一個使用它的應用程序。該庫使用jpeglib並編譯好。但是,當我嘗試編譯該應用程序時,它說庫項目中的未定義參考。我查看了libjpeg符號,它們的名稱與所使用的符號完全相同,所以問題必須與連接器相關(我試圖用visual studio和mingw使用msys編譯libjpeg,它們都不適用於我的項目)。未定義的參考,QT

在圖書館親文件我用:
LIBS += -L$$PWD/../../lib/libjpeg/ -ljpeg

,並在應用親文件我用:
LIBS += -L$$PWD/../../lib/libjpeg/ -ljpeg
LIBS += -L$$PWD/../../bin/StegoDiskCore/ -lStegoDiskCore

我試圖在應用項目中使用PRE_TARGETDEPS insted的LIBS爲jpgelib,但它說多個目標模式(我不知道在這種情況下PRE_TARGETDEPS是否可行,我只是想盡一切辦法,最後它可能只是一些愚蠢的東西)。如果有人可以幫忙,我已經停留了相當一段時間,只是不知道還有什麼要嘗試,謝謝。

+0

向我們顯示一個完整的錯誤消息。 – Bogdan

+0

謝謝你的回覆。我們計算出來了,問題在於libjpeg是一個C庫,項目是C++。出於某種原因,libjpeg配置錯誤(我的錯誤可能),並在其主標題中,函數被包括在內,而不使用「extern C」。我只是改變了標題(不是最好的解決方案,但它是直接的,我需要繼續前進)。我要把我的帖子標記爲已回答:) – user3611962

回答

0

libjpeg庫頭包含了庫函數,使用「extern C」,這在我的C++項目中不起作用。