#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