MinGW和CLion配置OpenGL环境
下载freeglut
freeglut(OpenGL Utility Toolkit),即OpenGL实用工具包。官方的glut停止更新了,因此用freeglut。需要下载MinGW版本的编译好的工具包。
http://files.transmissionzero.co.uk/software/development/GLUT/freeglut-MinGW.zip
(可能要*)
解压后
项目结构
新建一个Clion项目,将include和lib文件夹放到main.cpp同级。
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的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
(这一篇很精彩)