首页 > 解决方案 > CLion 编译 glut linux

问题描述

我正在尝试在 linux 上编译一个使用 freeglut 的 C++ 项目。我无法构建项目,因为库未在 CMake 文件中正确链接。我研究并尝试在此处应用类似答案中提到的内容:How to compile GLUT + OpenGL project with CMake and Kdevelop in linux?

但是,构建过程仍然失败,但出现以下异常:

/opt/JetBrains/apps/CLion/ch-0/181.4668.70/bin/cmake/bin/cmake --build /home/user/Documents/Projects/GdvProject/cmake-build-debug --target testas -- -j 2
CMake Error at CMakeLists.txt:9 (target_link_libraries):
  Cannot specify link libraries for target "GdvProject" which is not built by
  this project.


-- Configuring incomplete, errors occurred!
See also "/home/user/Documents/Projects/GdvProject/cmake-build-debug/CMakeFiles/CMakeOutput.log".
make: *** [Makefile:176: cmake_check_build_system] Error 1

我的 CMakeLists 文件如下所示:

cmake_minimum_required(VERSION 2.8)

project(GdvProject)
add_executable(testas main.cpp)
find_package(OpenGL REQUIRED)
find_package(GLUT REQUIRED)
include_directories( ${OPENGL_INCLUDE_DIRS}  ${GLUT_INCLUDE_DIRS} )

target_link_libraries(GdvProject ${OPENGL_LIBRARIES} ${GLUT_LIBRARY})

我该如何解决这个问题?

标签: c++cmakeglutfreeglut

解决方案


target_link_libraries想要一个目标名称。目标由(除其他外)add_executableadd_library指定add_custom_target

换句话说,target_link_libraries(testas ...)应该工作。当您使用它时,您也应该考虑切换include_directories(...)target_include_directories(testas ...)


推荐阅读