2011-12-22 86 views
1

我需要使用C庫來訪問傳統應用程序使用的舊文件格式。我安裝的庫是libdbf。 (Did ./configure & & make & & make install)。如何在配置,製作和安裝後使用c庫?

libdbf.0.0.1.dylib
libdbf.0.dylib
libdbf.a libdbf.dylib
libdbf.la

我:有人在/ usr/local/lib目錄安裝鬆散地熟悉C語法,並在C和C++中做了一些非常簡單的事情,但不知道如何包含這個庫。

如何將這個庫包含在我的項目中?對於noobie問題抱歉。

回答

2

當您編譯項目使用-ldbf

-l意味着鏈路,dbf是圖書館(你不需要包括名稱的lib部分)的名稱。

編輯:

我沒有使用Qt的,但它看起來像您可以添加

unix:LIBS += -ldbf 

要將.pro文件。來源1,2

默認情況下,gcc將在/usr/local/include中查找標題,並在/usr/local/lib中查找庫。如果它,你需要使它明確的,你還可以添加:

-I/usr/local/include -L/usr/local/lib 
+0

太棒了。所以我只是使用lib提供的函數,然後在編譯時使用該標誌?如果我使用Qt而不是(例如)gcc編譯項目,它會有所作爲嗎? – 2011-12-22 22:24:35

+0

不應該這樣做。編譯器幾乎肯定會在'/ usr/local/include'中查找頭文件,在'/ usr/local/lib'中查找這些庫,但是可以使用'-I

'和'-L '來明確地告訴它們在哪裏看。 – 2011-12-22 22:26:08

+0

我以爲Qt內部使用gcc - 它使用不同的編譯器嗎? – 2011-12-22 22:27:34

1

如果你想與你必須添加-I /usr/local/include庫導出的符號來編譯你的項目,假設頭安裝正確。對於鏈接,您需要添加-L /usr/local/lib -ldbf。您也可以明確地將路徑傳遞到庫,所以不要使用-L /usr/local/lib -ldbf,而要添加/usr/local/libdbf.0.dylib

查看GCC的linking options

+0

如果我正在編譯Qt,該怎麼辦? – 2011-12-22 22:25:03

+0

@CalvinFroedge,在運行'qmake'執行'export LDFLAGS =「 - L/usr/local/lib -ldbf」'之前,同樣'export CFLAGS =「 - I/usr/local/include」'。讓我知道它是否有幫助。 – Jan 2011-12-22 22:28:24

+0

@CalvinFroedge,或使用['QMAKE_LFLAGS'](http://developer.qt.nokia.com/doc/qt-4.8/qmake-variable-reference.html#qmake-lflags)而不是'LDFLAGS'。 – Jan 2011-12-22 22:31:46

相關問題