ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MinGW和CLion配置OpenGL环境

2021-03-18 20:31:56  阅读:352  来源: 互联网

标签:文件 solarsystem Cmake OpenGL CLion MinGW include freeglut


MinGW和CLion配置OpenGL环境

下载freeglut

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

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

解压后
解压后的freeglut

项目结构

新建一个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’
wenti
这两个函数在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
(这一篇很精彩)

标签:文件,solarsystem,Cmake,OpenGL,CLion,MinGW,include,freeglut
来源: https://blog.csdn.net/weixin_42074231/article/details/114988883

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有