c++ - 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})
我该如何解决这个问题?
解决方案
target_link_libraries
想要一个目标名称。目标由(除其他外)add_executable
和add_library
指定add_custom_target
。
换句话说,target_link_libraries(testas ...)
应该工作。当您使用它时,您也应该考虑切换include_directories(...)
到target_include_directories(testas ...)
。
推荐阅读
- php - 通过使用从 JQuery DatePicker 选择的开始日期和结束日期之间的日期比较日期,从 Access 中获取数据
- git - Android Studio 中的 .idea/shelf/Uncommitted_changes_before_Update
- android - 如何在具有 wrap_content 高度的图像视图上添加文本视图覆盖
- flutter - Flutter 卡片布局与设计
- java - 如何通过正则表达式中的字符将字符串拆分为子字符串
- odata - 我正在尝试使用 ODATA 查询表(MYSQL)。但是具有浮点值的长度字段返回 null
- python-3.x - python中默认的min()方法是否使用堆二叉树实现来查找列表中的最小值?
- python-3.x - 熊猫:找到正确的时间窗口
- amazon-web-services - 无法使用 amazon sdk 连接到 Amazon SQS
- java - 从文本文件中读取日期并转换 - 什么样的数据模型?