我是cmake的新手。我之前使用的是makefile,但由于QtCreator的原因,我不得不使用cmake。我也在努力学习glfw。我有以下cmake文件:
cmake_minimum_required(VERSION 3.10)
project(untitled)
find_package(glfw3 3.2 REQUIRED)
find_package(OpenGL REQUIRED)
add_executable(${PROJECT_NAME} "main.cpp")
target_include_directories(untitled ${OPENGL_INCLUDE_DIR})
target_link_libraries(untitled ${OPENGL_gl_LIBRARY})
我得到了以下错误:-
CMakeLists.txt:8: error: target_include_directories called with invalid arguments
我不知道这是什么意思。请帮帮我
发布于 2018-03-28 15:40:37
如果您查看CMake文档,您会发现它的用法与您所写的略有不同:
target_include_directories( SYSTEM items1... items2......])
您会注意到,您错过了非可选参数<INTERFACE|PUBLIC|PRIVATE>
您必须指定include目录的可见性:
target_include_directories(untitled PRIVATE ${OPENGL_INCLUDE_DIR})
如果可执行文件在公共头文件中使用OpenGL头文件,请将其指定为公共文件,以便链接到它的其他目标也包括OpenGL头文件。
我建议您习惯阅读文档,因为它将是您编写CMake脚本的最佳工具。
即使它是可选的,也可以在target_link_libraries
中使用此表单,我强烈建议您这样做:
target_link_libraries(untitled PUBLIC ${OPENGL_gl_LIBRARY})
https://stackoverflow.com/questions/49538580
复制