OpenGL ES 3.0一书中第十一章讲了如何搭建OpenGL ES 平台,但是书中讲解过于简单,下面是我在搭建过程中的详细步骤。我用的是64位win7+VS2013.
第一步: cmake 的下载与安装
下载网址:https://cmake.org/download/
下载文件,解压,可直接运行cmake_gui:
第二步: 示例代码的下载
下载网址:https://github.com/danginsburg/opengles3-book/
直接下载整个压缩包即可。
注:为了方便下一步进行编译,我新建build跟code文件夹,其中code里面存放下载的代码,build存放下一步cmake编译出来的文件。
第三步: OpenGL ES 仿真程序的下载
书中下载的是Qualcomm Adreno SDK, 需要去官网进行下载:
https://developer.qualcomm.com/software/adreno-gpu-sdk
需要注意,要先注册才可以。注册所用密码必须有大小写构成!这个我注册好多次,不知道为什么有的邮箱不行,而且密码要求很多!!不科学!
下载安装后如图所示:
第四步: cmake编译
运行cmake-gui,如图所示,需要添加源代码的位置(我这里是第二步中code的位置)以及构建二进制代码的位置(build的位置,因为cmake构建代码时不会自动新建文件夹,所以要提前建好)。
因为要使用安装到D盘的Qualcomm Adreno SDK,所以必须在上图中添加变量:
EGL_LIBRARY: D:/AdrenoSDK/Development/Lib/x64/libEGL.lib
OPENGLES3_LIBRARY: D:/AdrenoSDK/Development/Lib/x64/libGLESv2.lib
点击configure,generate ,完成生成。成功后会在build位置出现.sln的文件。
第五步: 运行程序
到上一步cmake编译后生成的目录下(D:/opengles3-book-master/build)寻找生成的sln解决方案,用VS打开生成解决方案。
如果要运行其中的小示例程序,关掉VS,找到\Build\Chapter_2\Hello_Triangle目录,运行Hello_Triangle.vcxproj。这时候会报许多错误,如下是解决办法:
1.把opengles3-book-master\External\Include 和opengles3-book-master \Common\ Include 里面的所有文件 拷贝到 MicrosoftVisual Studio 12.0\VC\include下(vs的安装目录)。如图所示:
2. 把AdrenoSDK安装目录下的 libEGL.lib 和 libGLESv2.lib 拷贝到 Microsoft Visual Studio 12.0\VC\lib路径下。如图所示:
3.进入cmake生成的Build文件夹里面,找到Build\Common\Debug\Common.lib, 拷贝到 Microsoft VisualStudio 12.0\VC\lib路径下。
注:由于该步骤中的common.lib可能会与以后工作过程中用到的其他程序相冲突,该步也可换成如下操作:
打开VS的工程,进入工程属性栏,(在解决方案窗口里右键项目),然后选择VC++目录选项卡,把该lib的地址添加进去,位置如图所示:
4.把AdrenoSDK安装目录下的libEGL.dll和libGLESv2.dll拷贝到Microsoft Visual Studio 12.0\VC\bin目录下。
!!!同时把上述三个dll文件拷贝到下面的三个文件夹里(因为不清楚为啥报错,所以三个文件夹中都拷过去)然后点击计算机的开始-》运行-》libGLESv2.dll ,达到激活dll文件的作用。这个地方,教程中说只需要拷贝到syswow64中即可,但是总是报错找不到dll文件,把三个文件夹中都拷入后该问题得到解决!!
5. VS工程中,点击链接器-》输入-》修改附加依赖项,加入libGLESv2.lib;libEGL.lib;Common.lib;,用分号隔开。如果链接器中已经包括,则不需要。
!!!6. 如果是VS2013,还需要去下面网址下载更新包才可以:
https://www.microsoft.com/zh-cn/download/details.aspx?id=40784
这个bug找了很久才找到,是因为高通的那个驱动不支持VS2012 VS2013,下载微软的更新后问题得到解决!!!