【发布时间】:2015-03-07 20:18:45
【问题描述】:
我在 KDevelop 中编码,我设置了我的 CMakeLists.txt 以包含并链接 libGL 和 freeglut。
但是,它给了我以下错误:
make[2]: *** No rule to make target '/usr/lib/libGL.so', needed by 'opengl'. Stop.
这是我的 CMakeLists.txt:
cmake_minimum_required(VERSION 2.8)
project(opengl)
add_executable(opengl main.cpp)
find_package(OpenGL REQUIRED)
find_package(GLUT REQUIRED)
include_directories( ${OPENGL_INCLUDE_DIRS} ${GLUT_INCLUDE_DIRS} )
target_link_libraries(opengl ${OPENGL_LIBRARIES} ${GLUT_LIBRARY} )
【问题讨论】:
-
只是插话,有时我会遇到同样的错误,但我一直无法弄清楚是什么原因造成的。它通常通过删除构建目录并执行新的
cmake ${SOURCE_TREE}来解决。 -
你是怎么做到的?我是 cmake 的新手。
-
顺便说一下,libGL.so 是有序的,但有 许多 符号链接
-
通常的工作方式是在源代码树之外创建一个构建目录,
cd并使用 cmake 从源代码树生成 makefile。例如mkdir /tmp/builddir ; cd /tmp/builddir ; cmake /…/projectdir