2010-07-20 71 views
1

我遇到了麻煩,試圖使我的項目與kdevelop一起工作。kdevelop:編輯CMakeLists.txt

在的CMakeLists.txt我已經包括的路徑,我使用的庫:

cmake_minimum_required(VERSION 2.4.6) 
PROJECT(Ormapi) 
INCLUDE_DIRECTORIES("/dir/whatever/local/dir/include") < here is defined global.h 
INCLUDE_DIRECTORIES("/dir/whatever/local/src")  

ADD_EXECUTABLE(Ormapi main.cpp OrmAPI.cpp) 

main.cpp中使用我在OrmAPI.cpp定義的類的實例。 問題是,當我嘗試創建上述included_directories中定義的任何其他類的實例時,我得到了兩個錯誤「undefined reference to」和「undefined reference to」。

這是OrmAPI.cpp的構造函數調用(Global是該目錄包含內部存在的類):

OrmAPI::OrmAPI(){   
Global::dirs()->addResourceDir("mydir");  

} 

我相信99%,這與相關的CMakeLists.txt,但我不知道地球上會發生什麼。

任何方向嗎?

+2

儘量使其更加清楚如何被納入你的路。不要使用'...',而要使用'INCLUDE_DIRECTORIES(「/ fake/dir/src」)這樣的虛假目錄' – Gianni 2010-07-20 19:00:51

回答

4

終於發現了問題:

cmake_minimum_required(VERSION 2.4.6) 
PROJECT(Ormapi) 
INCLUDE_DIRECTORIES("/dir/whatever/local/dir/include") < here is defined global.h 
INCLUDE_DIRECTORIES("/dir/whatever/local/src")  

ADD_EXECUTABLE(Ormapi main.cpp OrmAPI.cpp) 
target_link_libraries(Ormapi /dirdir/lib.so) <<< 

因爲我創造了這些路徑申報對象的實例,我必須包括共享庫了。但它必須在ADD_EXECUTABLE之後。我正從另一邊讀取附屬樹。

BTW:我發現here的有關處理的Makefile,CMakeLists等有趣的巨大信息ammount的..