You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用CMake构建GLUT项目时出现gluPerspective()未定义引用错误

解决Linux下CMake编译OpenGL程序时gluPerspective未定义引用的问题

你的问题核心是gluPerspective属于GLU(OpenGL Utility Library)库,而非GLUT或基础OpenGL组件,当前CMake配置未链接GLU库,导致链接阶段找不到该函数。同时你的CMakeLists.txt存在一处语法错误,以下是修复步骤:

1. 修正CMakeLists.txt的语法错误

原配置中add_executable({PROJECT_NAME} main.cpp glad.c)缺少变量引用的$符号,应改为:

add_executable(${PROJECT_NAME} main.cpp glad.c)

2. 添加GLU库的链接

修改target_link_libraries,加入GLU库的导入目标OpenGL::GLU。同时add_dependencies语句是多余的,可以直接删除(target_link_libraries会自动处理依赖关系)。

修复后的完整CMakeLists.txt:

cmake_minimum_required(VERSION 3.17)

project(proj03)
add_executable(${PROJECT_NAME} main.cpp glad.c)

find_package(OpenGL REQUIRED)
find_package(GLUT REQUIRED)

target_link_libraries(${PROJECT_NAME} OpenGL::OpenGL OpenGL::GLU GLUT::GLUT)

3. 确保系统已安装GLU开发包

如果仍报错,检查是否安装了GLU的开发依赖:

  • Debian/Ubuntu系:
    sudo apt install libglu1-mesa-dev
    
  • CentOS/RHEL系:
    sudo yum install mesa-libGLU-devel
    

内容的提问来源于stack exchange,提问作者chasekosborne

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 00:07:17