簡體   English   中英

包括未找到,如何解決cmake?

[英]include not found, how to fix with 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-0PkgConfig 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} )

注意到如何后includedir在輸入CEGUI-0.pc ...

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

我沒有得到#include <CEGUI/CEGUI.h>的“無文件發現錯誤”了。 接下來的幾天,我將嘗試在我的節目中用CEGUI做一個地獄世界。 如果你有任何評論請做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM