这个问题在这里已经有了答案:
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/