即使cmake中包含Freetype,也找不到Freetype标头
我试图在cmake中包含FreeType,但在ft2build.h未找到时遇到问题。这是我的cmake文件 主要cmakelist:即使cmake中包含Freetype,也找不到Freetype标头,cmake,freetype,Cmake,Freetype,我试图在cmake中包含FreeType,但在ft2build.h未找到时遇到问题。这是我的cmake文件 主要cmakelist: cmake_minimum_required(VERSION 2.8) project(game) add_subdirectory(Managers) add_subdirectory(Core) add_subdirectory(Rendering) add_subdirectory(Input) add_executable(game main.cpp
cmake_minimum_required(VERSION 2.8)
project(game)
add_subdirectory(Managers)
add_subdirectory(Core)
add_subdirectory(Rendering)
add_subdirectory(Input)
add_executable(game main.cpp)
target_link_libraries(game initglew initglut camera modelmanager scenemanager shadermanager renderinglib)
find_library(GLUT glut)
find_library(OPENGL GL)
find_library(GLEW GLEW)
find_library(MATH m)
find_package(Freetype REQUIRED)
target_link_libraries(game ${GLUT} ${OPENGL} ${GLEW} ${MATH} ${FREETYPE_LIBRARIES})
include_directories(${FREETYPE_INCLUDE_DIRS})
SET(GCC_FLAGS "-Wall -Wextra -pedantic -std=c++17 -Wno-unused-parameter -g")
add_definitions(${GCC_FLAGS})
install(TARGETS game DESTINATION bin)
cmake_minimum_required(VERSION 2.8)
project(rendering)
file(GLOB_RECURSE renderingcpps CONFIGURE_DEPENDS "*.cpp")
file(GLOB_RECURSE renderinghpps CONFIGURE_DEPENDS "*.hpp")
add_library(renderinglib STATIC ${renderingcpps})
install(TARGETS renderinglib DESTINATION lib)
install(FILES ${renderinghpps} DESTINATION include)
渲染cmakelist:
cmake_minimum_required(VERSION 2.8)
project(game)
add_subdirectory(Managers)
add_subdirectory(Core)
add_subdirectory(Rendering)
add_subdirectory(Input)
add_executable(game main.cpp)
target_link_libraries(game initglew initglut camera modelmanager scenemanager shadermanager renderinglib)
find_library(GLUT glut)
find_library(OPENGL GL)
find_library(GLEW GLEW)
find_library(MATH m)
find_package(Freetype REQUIRED)
target_link_libraries(game ${GLUT} ${OPENGL} ${GLEW} ${MATH} ${FREETYPE_LIBRARIES})
include_directories(${FREETYPE_INCLUDE_DIRS})
SET(GCC_FLAGS "-Wall -Wextra -pedantic -std=c++17 -Wno-unused-parameter -g")
add_definitions(${GCC_FLAGS})
install(TARGETS game DESTINATION bin)
cmake_minimum_required(VERSION 2.8)
project(rendering)
file(GLOB_RECURSE renderingcpps CONFIGURE_DEPENDS "*.cpp")
file(GLOB_RECURSE renderinghpps CONFIGURE_DEPENDS "*.hpp")
add_library(renderinglib STATIC ${renderingcpps})
install(TARGETS renderinglib DESTINATION lib)
install(FILES ${renderinghpps} DESTINATION include)
我将FreeType包含在最高级别的cmakelist中,但渲染子文件夹中的文件找不到ft2build.h。我试着跟随这个链接
这让我到了现在的位置,但仍然找不到ft2build.h。在尝试切换到cmake之前,我最初使用“-lfreetype-I/usr/include/freetype2”进行编译
我记录了一些输出,FREETYPE\u INCLUDE\u DIRS被/usr/INCLUDE/freetype2填充,但它的两个子计算机是空的,不确定这是否相关,我想这里的顺序很重要。您的
include_directories
命令位于调用add_library
之后,因此无法从库中看到它。重新构造CMakeLists.txt以在添加\u库
命令之前找到freetype,并在它之前执行包含\u目录
。包含\u目录(
->目标\u包含\u目录(目标公共…)
我最初使用的是target include目录,但由于include\u目录似乎更通用,所以我将其切换了?而且看起来target可能只包含特定目标的目录,而且更改顺序似乎不起作用:(.AHA事实上它确实有效我必须在添加子目录之前移动它????我想我真的需要更好地了解cmake如何工作我想顺序在这里很重要。您的include\u directories
命令位于调用添加库
之后,因此从库中看不到它。重新构造您的CMakeLists.txt在add\u library
命令之前查找freetype,并在它之前执行包含目录的操作。包含目录(
->目标包含目录(目标公共…)
我最初使用的是target include目录,但由于include\u目录似乎更通用,所以我将其切换了?而且看起来target可能只包含特定目标的目录,而且更改顺序似乎不起作用:(.AHA事实上它确实有效我不得不在add_子目录之前移动它?????我想我真的需要更好地理解cmake是如何工作的