opengl - CMake 链接 OpenGL 和 GLUT 库

标签 opengl cmake glut

这个问题在这里已经有了答案:





What is an undefined reference/unresolved external symbol error and how do I fix it?

(36 个回答)


6年前关闭。




我编写了使用 OpenGL 和 Glut 库的 c++ 项目。

当我从命令行编译它时一切正常。
这是示例。

g++ -o prog source.cpp -lGL -lGLU -lglut --std=c++11 -L /usr/lib/nvidia-331/

但是当我想在 QtCreator 中使用 CMake 时:
project(proj)
cmake_minimum_required(VERSION 2.8)

aux_source_directory(. SRC_LIST)
add_executable(${PROJECT_NAME} ${SRC_LIST})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -lGL -lGLU -lglut -L /usr/lib/nvidia-331/") 

我收到消息:错误:未定义对 `glColor3f' 的引用 等等。

有谁能够帮助我?

最佳答案

project(proj)
cmake_minimum_required(VERSION 2.8)

find_package(OpenGL)
find_package(GLUT)

aux_source_directory(. SRC_LIST)
add_executable(${PROJECT_NAME} ${SRC_LIST})
target_link_libraries(
    ${PROJECT_NAME}
    ${OPENGL_gl_LIBRARY}
    ${GLUT_LIBRARIES} )

注意:您不应该为可执行文件使用项目名称

关于opengl - CMake 链接 OpenGL 和 GLUT 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26776222/

相关文章:

xcode - 在OS X 10.8上设置SDL

cmake - CPack : Ignoring files using regex

c++ - 快速 C++ 图形(如编程时间)

c++ - GLUT:错误的鼠标坐标?

opengl - 调整过剩窗口的大小

c++ - 奇怪的 OpenGL 阴影映射行为

c# - DirectX 或 OpenGL

opengl - 我的地面不亮

c++ - 如何为模块化项目正确创建 CMake 文件

cmake - cmake中十进制转十六进制