admin管理员组文章数量:1631138
windows配置opengles3开发环境https://dn-maxiang.qbox.me/res-min/themes/marxico.css’ rel=’stylesheet’>
windows配置opengles3开发环境
1.使用VS进行配置
使用VS配置opengl比较简单,VS自带VC环境,所以只需要下载opengl库和arm模拟器即可。同时下载了《opengles3.0编程指南》中的实例源码,作为运行样例。具体步骤如下:
- 工具准备
- 《opengles3.0编程指南》源码下载:https://github/danginsburg/opengles3-book
- 下载mail opengl es模拟器,用来运行opengl程序(推荐32位zip包,不需要安装文件):http://malideveloper.arm/resources/tools/opengl-es-emulator/
- CMake 用来编译源码工程:https://cmake/download/
- 环境配置
- 找到VS的VC文件夹,根据版本不同,有所不同,我安装的2017企业版,路径为:C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.12.25827
- 将mail模拟器zip包中的include文件夹中的所有文件文件夹拷贝到VC环境下的include文件夹中
libEGL.lib
和libGLESv2.lib
这两个lib文件,拷贝到VC的lib/x86文件夹下libEGL.dll
和libGLESv2.dll
俩个dll文件,拷贝到VC目录bin/Hostx86/x86文件夹下- 这样opengl环境搭建基本完成
- 使用CMake将源码编译成VS工程
- 安装CMake(是否需要提前安装MinGW需要进行验证)
- 打开CMake,
Brower Source
选择源码工程路径,Brower Build
选择编译的输出目录 - 执行
Configure
选择合适的VS版本 - 这时,执行
Generate
会报错,原因是没有正确的指定EGL
和OPENGLES3
库路径,因此需要指定正确的EGL
和OPENGLES3
库路径 - 这时CMake的界面应该如下:
- 指定EGL库文件路径,配置
EGL_LIBRARY
为VC目录中libEGL.lib
的位置 - 执行opengles3库文件路径,配置
OPENGLES3_LIBRARY
为VC目录下libGLESv2.lib
文件路径
- 指定EGL库文件路径,配置
- 这时在执行
Generate
就能够在输出位置中获取到对应的VS工程 - 在build目录中打开生成的.sin或者直接在CMake执行
Open Porject
,打开VS工程,将需要执行的工程设置为启动项,运行程序,即可看到窗口以及绘制的图形
- 如果是想要将Common直接作为库进行使用,则需要以下步骤
- 第一次成功运行build出的VS工程后,可以看到VS工程中
Common
目录下生成了Debug文件夹,拷贝Debug文件夹下的Common.lib文件到VC的lib/x86文件夹(和上文中libEDG.lib
两个库文件相同目录)下 - 配置依赖的信息 , 右键项目–>属性–>连接器–>输入–>附加依赖项,并输入
libEGL.lib;libGLESv2.lib;Common.lib;
- 运行,没问题,大吉大利,今晚吃鸡(^▽^)
- 这样就可以直接使用Common中的代码信息了
- 第一次成功运行build出的VS工程后,可以看到VS工程中
2.使用clion进行配置
上文介绍了使用VS配置Opengles环境的方式,虽然VS配置环境比较简单,但使用VS进行opengles开发有两个缺点:臃肿和智能提示不智能。同时本着一直以来对JetBrains的喜爱,决定使用CLion进行opengles开发。开发所使用的工具又可以分为两种:使用freeglut
和使用上文中的模拟器。以下两种方法都将进行配置
1.使用freeglut(opengl,而不是opengles)
使用freeglut的配置方式,主要参考了该博文:https://blog.csdn/m0_37748310/article/details/80391026 特此感谢
- 工具准备:
- MinGW,既然是使用CLion,而不是使用VC环境,所以选择MinGW作为编译工具,可以参考https://blog.csdn/ksksjipeng/article/details/52353258对CLion进行安装配置
- freeglut,作为opengl中glut使用最广泛的开源工具,freeglut提供了丰富而使用的接口,下载地址:https://www.transmissionzero.co.uk/software/freeglut-devel/,需要其中的MinGW版本
- CLion,(废话!!!)
- 配置freeglut环境:
- freeglut压缩包下载解压后,包含bin include lib三个文件夹
- 将include/GL文件夹下拷贝到minGW/include/GL文件夹下(如果是已经拷贝过了opengles3的include文件,本条可以跳过)
- 64位机的话将压缩包/lib/x64中的.a文件拷贝到mingw/lib文件夹下,32位机的话应该拷的是压缩包/lib中的两个.a文件
64位机把压缩包/bin/x64里的文件拷贝到C://Windows//SysWOW64下,32位机压缩包/bin下文件到C://Windows//System32下(即参考博文中提及的第三步,经测试并没有什么效果,算是为参考博文博主补充验证)- 这样freeglut环境基本配置完毕
新建CLion工程
- 修改CMake配置文件
- 其中
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -D FREEGLUT_STATIC")
一定需要加上,虽然暂时不清楚作用
- 其中
cmake_minimum_required(VERSION 3.9) project(OpenGL_3)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -D FREEGLUT_STATIC") add_executable(OpenGL_3 glut.cpp ) target_link_libraries(OpenGL_3 freeglut_static opengl32 winmm gdi32 glu32.lib)
- 编写main.cpp代码(直接使用了参考博文中的代码)
#include <GL/glut.h> #include <stdio.h>
void ChangeSize(GLsizei w,GLsizei h){ if(w< 1) w= 1; if(h< 1) h= 1; printf( "%d %d\n",w,h); glViewport( 0, 0,w,h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); if(w<=h) glOrtho( -30.0, 30.0, -30.0*(GLfloat)h/(GLfloat)w, 30.0*(GLfloat)h/(GLfloat)w, -50.0, 50.0); else glOrtho( -30.0*(GLfloat)w/(GLfloat)h, 30.0*(GLfloat)w/(GLfloat)h, -30.0, 30.0, -50.0, 50.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } void DrawMyObjects() { //画四边形 glBegin(GL_QUADS); glColor3f( 0.7, 0.5, 0.2); glVertex2f( -7, -3); glVertex2f( -5.5, -1); glVertex2f( -1, -0.5); glVertex2f( -1, -4); glColor3f( 0.5, 0.7, 0.2); glVertex2f( 2, -6.25); glVertex2f( 2.5, -1); glVertex2f( 6.5, 1); glVertex2f( 4.5, -6.25); glEnd(); } void RenderScene() { glClear(GL_COLOR_BUFFER_BIT); glColor3f( 1.0, 1.0, 0.0); DrawMyObjects(); glFlush(); } int main(int argc, char *argv[]){ glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB); glutInitWindowSize( 600, 600); glutCreateWindow( "My first"); glClearColor( 0.51, 0.51, 0.51, 0.5); glutReshapeFunc(ChangeSize); glutDisplayFunc(RenderScene); glutMainLoop(); return 0; }
- 运行,无问题,配置成功
2.使用mail模拟器(opengles)
该方法使用的方式基本与上文中使用VS配置opengles思路类似:
- 工具准备
- minGW,C++的编译环境
- mail模拟器(需要其中的
libEGL.lib
和libGLESv2.lib
这两个lib文件,用来提供EGL和opengles功能) - 《opengles3编程指南》中的源码
- 环境配置
- 将mail压缩包下include文件夹下所有文件夹拷贝到minGW/include目录下
- 将mail压缩包下
libEGL.lib
和libGLESv2.lib
拷贝到minGW/lib目录下 - 将mail压缩包下
libEGL.dll
和libGLESv2.dll
拷贝到minGW/bin目录下
- 使用CLion打开源码工程
- 需要注意的是,修改根目录下的CMakeList文件中的正确的opengles版本信息,否则无法运行
- 运行成功:
- 使用这种方式配置环境,如果想要将Common作为外部库进行使用,可以直接使用VS配置方法中生成的
Common.lib
文件,如果不想使用CMake和VS工具生成,还可以使用CLion运行一次源码后,在工程cmake-build-debug/Common
中找到libCommon.a
文件
- 将上一步的
Common.lib
或libCommon.a
文件拷贝至minGW/lib文件夹下 - 运行程序,完美大吉
- 将上一步的
- 另外想要使用CLion进行C/C++开发,需要熟悉CMake规则
参考链接:
https://blog.csdn/AvatarForTest/article/details/79199807
https://blog.csdn/dcrmg/article/details/53049070
https://blog.csdn/dardgen2015/article/details/51563914
版权声明:本文标题:windows配置opengles3开发环境 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1729088505a1185876.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论