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

Ubuntu下CLion运行OpenGL程序失败求助(终端可正常运行)

解决CLion中Ubuntu环境下OpenGL程序无法运行的问题

我懂你这种头疼的情况——终端里敲gcc progname.c -lglut -lGL -lGLU就能正常跑的OpenGL程序,放到CLion里就卡壳了,这十有八九是CMakeLists.txt没正确配置链接依赖导致的。毕竟CMake不像直接用gcc那样可以直接通过-l参数指定库,得按照它的规则来声明依赖。

首先,给你一份能正常工作的CMakeLists.txt配置

你可以把下面的内容替换掉你现有的配置,记得把占位符改成你自己的项目和文件名:

cmake_minimum_required(VERSION 3.10)
# 替换成你的项目名称
project(MyOpenGLApp)

# 设置C语言标准,根据你的程序需求调整,比如C99或C11
set(CMAKE_C_STANDARD 99)

# 让CMake自动查找系统中的GLUT和OpenGL库
find_package(GLUT REQUIRED)
find_package(OpenGL REQUIRED)

# 添加可执行文件,把progname.c改成你的源文件名
add_executable(MyOpenGLApp progname.c)

# 链接所需的库,对应gcc命令里的-lglut -lGL -lGLU
target_link_libraries(MyOpenGLApp
        ${GLUT_LIBRARIES}
        ${OPENGL_LIBRARIES}
        GLU  # 部分系统中find_package可能未自动包含GLU,手动添加确保链接
)

为什么这个配置能解决问题?

  • find_package(GLUT REQUIRED)和find_package(OpenGL REQUIRED):CMake会自动扫描系统路径,找到GLUT和OpenGL库的位置,比手动写路径更可靠,也适配不同的Ubuntu版本。
  • target_link_libraries:这一步就对应你gcc命令里的-l参数,把GLUT、OpenGL、GLU库链接到你的可执行程序上,确保编译时能找到这些库的函数实现。

额外排查步骤(如果还是不行的话)

  • 检查CLion的工具链配置:打开Settings -> Build, Execution, Deployment -> Toolchains,确保选中的是Ubuntu系统自带的gcc工具链,而不是其他自定义的工具链。
  • 清理构建缓存:点击CLion右上角的Clean按钮,然后重新点击Build,避免旧的错误配置残留影响。
  • 验证库是否被正确找到:可以在CMakeLists.txt里加一行调试代码,查看CMake找到的库路径:
    message(STATUS "GLUT Libraries found: ${GLUT_LIBRARIES}")
    message(STATUS "OpenGL Libraries found: ${OPENGL_LIBRARIES}")
    
    然后看CLion的CMake控制台输出,确认路径是有效的,没有提示找不到库的错误。

内容的提问来源于stack exchange,提问作者mohammed thaha jk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 04:11:49