Windows7下搭建OpenGL ES3.0开发环境(VS2017)踩坑 - pxqwxl/myLearnPoject GitHub Wiki

参考别人的文章:https://blog.csdn.net/brahmsjiang/article/details/78572141,但是这篇文章对编译过程中出现的各种问题没有说明,因此特此记录下。

一、安装VS2017

(1)下载网址:https://visualstudio.microsoft.com/zh-hans/vs/

(2)安装过程参考:https://blogs.msdn.microsoft.com/vcblog/2017/04/21/getting-started-with-visual-studio-for-c-and-cpp-development/

二、下载《OpenGL ES3.0 Programming guide》示例代码:

https://codeload.github.com/danginsburg/opengles3-book/zip/master

三、下载mail opengl es模拟器(我也是下载32位的:Mali_OpenGL_ES_Emulator-v3.0.2.g694a9-Windows-32bit):

http://malideveloper.arm.com/resources/tools/opengl-es-emulator/

四、解压Mali_OpenGL_ES_Emulator-v3.0.2.g694a9-Windows-32bit

(1)将include目录下的四个文件夹:EGL, GLES2, GLES3, KHR都拷贝到VS2017的安装路径下:C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\include

(2)将libEGL.lib,libGLESv2.lib,libMaliEmulator.lib拷贝到:C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\lib\x86

(3)将除去include目录剩余的都拷贝到:C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\bin\Hostx86\x86

(4)将libEGL.dll,libGLESv2.dll,libMaliEmulator.dll, openglessl目录及log4cplus.dll拷贝到C:\Windows\SysWOW64

五、准备工作作完可以开始编译sample code了

(1)打开VS,新建一个空的工程。将opengles3-book-master\Chapter_2\Hello_Triangle\Hello_Triangle.c和opengles3-book-master\Common目录拷贝到工程目录下。并将代码源文件添加到工程中

(2)将opengles3-book-master\Common\Include目录添加到附加路径,点击项目-》属性-》C/C++-》通用(General)-》Additional Include Directiories然后编辑添加。如果没添加路径会报esUtil.h头文件找不到的问题。

(3)点击preprocessor预处理器选项,将";_CRT_SECURE_NO_WARNINGS"字段添加到Preprocessor Definitions里。否则会出现:fopen: This function or variable may be unsafe......的错误。

(4)将C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\VC\Tools\MSVC\14.15.26726\lib\x86添加到连接器的lib路径,否则会报找不到libEGL.lib类似的错误。

(5)修改连接器Input附加依赖项,加入libGLESv2.lib;libEGL.lib;libMaliEmulator.lib

(6) 编译链接的时候还可能遇到类似Loaded 'C:\Windows\System32\kernel32.dll', Cannot find or open the PDB file的问题

解决方法:点击工具-》选项-》Debugging-》Symbols将Microsoft Symbol Servers勾选。

(7)编译运行,选择X86,点击绿色箭头运行。

踩坑

1.运行代码时报错 link错误找不到glxxxxx 原因:下载的opengles 库是64位的用32位编译不通过 重新下载opengles 32位则解决问题 2.运行代码是报错 缺少dll 将opengl库里的对应dll考到工程目录下即可 3 运行代码时报错 无法打开应用程序 原因是 导入的dll不是opengl库内的dll 网上下载的会有问题 4 运行代码时报错 缺少opengless文件目录 需要把opengl库内的openglessl文件夹放到工程目录下