MinGW和CLion配置OpenGL环境

MinGW和CLion配置OpenGL环境

下载freeglut

freeglut(OpenGL Utility Toolkit),即OpenGL实用工具包。官方的glut停止更新了,因此用freeglut。需要下载MinGW版本的编译好的工具包

http://files.transmissionzero.co.uk/software/development/GLUT/freeglut-MinGW.zip
(可能要*)

解压后
MinGW和CLion配置OpenGL环境

项目结构

新建一个Clion项目,将include和lib文件夹放到main.cpp同级。
MinGW和CLion配置OpenGL环境

Cmake文件

修改Cmake文件。CMakeList.txt如下

cmake_minimum_required(VERSION 3.17)

# solarsystem是项目名称
project(solarsystem)

# include是下载的freeglut的include目录, lib/x64是greeglut的库文件
include_directories(include)
link_directories(lib/x64)

set(CMAKE_CXX_STANDARD 14)

# 将freeglut.gll和生成的exe文件放在同一个目录即可
# 此处是将输出的exe放到cmake-bulid-debug/bin目录
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY bin)

# 项目文件
add_executable(solarsystem main.cpp solarsystem.h stars.h stars.cpp solarsystem.cpp)

# 将库文件添加到项目,opengl32.dll是系统文件,在Windows/sys32文件夹
# libglu32.a是minGW64的库文件,但是不能自动链接,需要在这里指出
target_link_libraries(solarsystem libfreeglut.a opengl32.dll libglu32.a)


问题

可能出现报错
undefined reference to `gluPerspective’
undefined reference to `gluLookAt’
MinGW和CLion配置OpenGL环境
这两个函数在mingw的GL/glu.h中定义,需要将libglu32.a文件链接到项目中,即cmake文件最后一句不能少
target_link_libraries(solarsystem libfreeglut.a opengl32.dll libglu32.a)

其他参考

参考了其他的教程,他们都有很深入的讲解,但我觉得还是Cmake的问题,建议学习Cmake。
至于环境变量,只加bin文件夹应该就可以了。

https://blog.csdn.net/u010312740/article/details/52478014

https://blog.csdn.net/Justice132/article/details/80653301
(这一篇很精彩)

上一篇:VSCode配置编写C/C++程序环境


下一篇:Rust + CLion + Mingw64的安装