【问题标题】:include not found, how to fix with cmake?包括未找到,如何用cmake修复?
【发布时间】:2013-12-03 23:22:56
【问题描述】:

那里是我的 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)

所以,PkgConfig 对应于 CEGUI-0-OPENGLCEGUI-0。在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 return :

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

我做错了什么?

【问题讨论】:

  • 不应该是include_directories( ${${LIBNAME}_INCLUDE_DIRS} )吗?
  • @Fraser 也许,也许不是......实际上我不知道......我将S 添加到我的include_directories( ${${LIBNAME}_INCLUDE_DIR}(宏中的那个)没有区别
  • 使用message 命令验证所有包含目录是否具有您期望的值。

标签: linux g++ cmake include-path cegui


【解决方案1】:

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

include_directories(${CEGUI_INCLUDE_DIR}/../)

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

【讨论】:

    【解决方案2】:

    几个月后...

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

    include_directories( ${${LIBNAME}_INCLUDE_DIR} )
    

    通过

    include_directories( ${${LIBNAME}_INCLUDEDIR} )
    

    在注意到includedir 是如何输入CEGUI-0.pc 之后...

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

    我不再收到#include &lt;CEGUI/CEGUI.h&gt; 的“找不到文件错误”。下几天我将尝试在我的程序中使用 CEGUI 做一个地狱般的世界。如果你有任何意见请做。

    【讨论】:

      猜你喜欢
      • 2017-06-02
      • 2021-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多