2012-03-22 229 views
3

我實際上是Qt的新手,如果有人能夠解釋如何在這三種情況下解釋如何處理外部C++庫以及如何獲得使用Qt的庫最簡單的方法(如果可以的話)只是點我到一些地方我可以讀到它): - 源h和頭.cpp文件都可以 - 源h和DLL - 源h和.a文件將外部庫包含到Qt

我通常使用以下程序: 1- Cmake生成製作文件 2-使用Mingw的建築物:

Cd c:/test 
qmake test.pro 
mingw32-make 

3-包括項目Qt的:

INCLUDEPATH += C:/test/build/include 
LIBS += C:\test\build\x64\mingw\lib\file.dll.a \ ... 

我通常使用CMake的第一則qmake的建立,但有時一個不工作或經常Qt的選項不可用在CMake的。我總是仔細閱讀說明。一般來說,一個經驗程序員如何決定如何包含一個圖書館?

+0

Cmake是專業的工具,我建議你使用它。 – softghost 2012-03-25 15:46:07

回答

4

你不需要cmakeqmake在一起 - 一個就足夠了。當我在Qt Creator中時,我主要與qmake一起工作,因爲它與IDE完美集成。一般來說你在做什麼是正確的。您包括HEADERS +=下的標題,SOURCES +=下的源,LIBS +=下的庫和INCLUDEPATH +=下包含文件的路徑。

+0

感謝GradGuy,說實話,我有點困惑什麼會做什麼(我仍然在尋找這個信息,它實際上不容易找到!)。 qmake僅適用於包含帶有.lib文件的庫嗎?如果我只有.h和.cpp文件怎麼辦? – Maiss 2012-03-23 04:54:57

+1

如果你有一個類似'libfoo.a'的庫,你需要這樣做: 'LIBS + = -L/path/to/lib -lfoo'。另一方面,如果你只想在項目中包含一些'.h'和'.cpp'文件,你可以這樣做: 'HEADERS + =/path/to/foo.h'和'SOURCES + = /路徑/到/ foo.cpp'。根據文件的不同,您可能需要或不需要「INCLUDEPATH + =/path/to/header/library/files」。希望有所幫助。你也許想看看這個:http://qt-project.org/doc/qt-4.8/qmake-variable-reference.html – GradGuy 2012-03-23 06:29:27

+0

你讓我的一天GradGuy,希望我可以投票:)我'只要我得到我的15.再次感謝。 – Maiss 2012-03-23 16:57:57

4

而不是手動將外部庫添加到.pro文件你可以做一件事。

右鍵單擊您的主項目,然後選擇「添加庫」選項,然後它會問

1. External library 
2. Internal Library 
3. System Library 

然後選擇外部庫,和其餘全部事情是由Qt Creator的完成即會自動添加.pro文件的路徑並將庫鏈接到項目。

+1

謝謝Shobi,非常清楚,但是你能告訴我如何在包含.h和.cpp文件的情況下包含一個庫?它是簡單的#include「../files.h」嗎?以及爲什麼需要構建一些庫以便使用它們而不是簡單地使用.h和.cpp文件? – Maiss 2012-03-23 04:48:59