#include path
include_directories(
${PROJECT_SOURCE_DIR}/include
${HGE_INCLUDE_DIR}
${IKL_INCLUDE_DIR}
${BOOST_DIRECTORY}
)
#include all files
FILE(GLOB CORE_SRCS source/core/*.cpp)
FILE(GLOB TOOL_SRCS source/tools/*.cpp)
FILE(GLOB GAME_SRCS source/game/*.cpp)
#Making a compiled library
add_library(GAMECORE_LIBRARY ${CORE_SRCS} ${HGE_LIBRARY} ${HGE_HELPER_LIBRARY})
#add executable
add_executable(DemoGame ${GAME_SRCS})
##link executable to HGE lib
TARGET_LINK_LIBRARIES(DemoGame ${HGE_LIBRARY} ${HGE_HELPER_LIBRARY} ${IKL_LIBRARY} GAMECORE_LIBRARY)
if(BUILD_TOOLS)
add_executable(EntityTool ${TOOL_SRCS})
TARGET_LINK_LIBRARIES(EntityTool ${HGE_LIBRARY} ${HGE_HELPER_LIBRARY} ${IKL_LIBRARY} GAMECORE_LIBRARY)
endif(BUILD_TOOLS)
這是我目前的cmake ..奇怪的鏈接錯誤
我得到hgeGUI類一個奇怪的鏈接錯誤
如:DemoGame /源/核心/ GameMainMenu.cpp:74:未定義的引用`hgeGUI :: hgeGUI()'
這隻發生在我嘗試將核心文件編譯成靜態庫的時候。 當我用CORE_SRCS添加可執行文件,並刪除我當前編譯的庫的依賴關係..它會正常工作..
另外我試圖將hgegui.cpp文件粘貼到我的核心源目錄..並更改#include "..\..\include\hgegui.h"
到#include "hgegui.h"
之後,我的鏈接代碼解決了問題,但我得到分段錯誤,但我猜的文件在上一步鏈接是不正確的..
這裏是他們的.h文件的鏈接
http://trac.assembla.com/snowscape/browser/hge/include/hgegui.h
請不要加[解決]你的目標。如果您的問題得到解答,請接受最有幫助的答案。 – Mat