包括找不到,如何用cmake修复



我的CMakeLists.txt:

cmake_minimum_required( VERSION 2.8 )
set (CMAKE_VERBOSE_MAKEFILE ON)
project( a.out )
find_package(OpenGL)
find_package(PkgConfig REQUIRED)
pkg_search_module(GLFW REQUIRED glfw3)
pkg_search_module(CEGUI-GL REQUIRED  CEGUI-0-OPENGL)
pkg_search_module(CEGUI REQUIRED  CEGUI-0)

macro( config_project PROJNAME LIBNAME )
include_directories( ${${LIBNAME}_INCLUDE_DIR} )
target_link_libraries( ${PROJNAME} ${${LIBNAME}_LIBRARIES} )
endmacro()
add_definitions(-std=c++11)
add_executable(a.out src/ConsoleWindow.cc src/camera.cc src/main.cc)
config_project(a.out OPENGL)
config_project(a.out GLFW)
config_project(a.out CEGUI-GL)
config_project(a.out CEGUI)

因此对于CEGUI-0-OPENGLCEGUI-0存在PkgConfig。在CEGUI-0.pc中有:

prefix=/usr
exec_prefix=${prefix}
libdir=${prefix}/lib
includedir=${prefix}/include/cegui-0
moduledir=${prefix}/lib/cegui-0.8
datafiles=${prefix}/share/cegui-0
Name: CEGUI-0
Description: The free GUI library for games and multi-media development.
Version: 0.8.2
Libs: -L${libdir} -lCEGUIBase-0
Cflags: -I${includedir} -I${includedir}/cegui

当我运行cmake .时,一切都很好,但在我的一个.cc中,我有:

#include <CEGUI/CEGUI.h>

当我编译文件时,我得到了一个错误,就像没有找到这样的文件一样。。。但locate返回:

/usr/include/cegui-0/CEGUI/CEGUI.h

我做错了什么?

我遇到了同样的问题,没有找到干净的解决方案。我这样解决:

include_directories(${CEGUI_INCLUDE_DIR}/../)

这可能不是最好的解决方案,但对我来说已经足够了…

几个月后。。。

我想我解决了这个问题,我换了

include_directories( ${${LIBNAME}_INCLUDE_DIR} )

通过

include_directories( ${${LIBNAME}_INCLUDEDIR} )

在注意到CCD_ 8是如何在CCD_。。。

includedir=${prefix}/include/cegui-0

我不再收到#include <CEGUI/CEGUI.h>的"未找到文件错误"。接下来的几天,我将尝试在我的程序中使用CEGUI做一个地狱般的世界。如果您有任何意见,请plz do.

相关内容

  • 没有找到相关文章

最新更新