Clion搭建OpenglES3.0环境

         作为一个钟爱Android Studio大粉丝,自从接触到Clion以后,就对它爱不释手了,一是习惯了使用java语言编程的程序员来说,再从头来去写C、C++程序来说,没有智能提示,简直要命的节奏,所以有个智能提示,对于快速学习掌握C和C++的api还有语法速度还是挺快的,再就是Clion的跨平台性,使用CMake进行编译,不管以后在哪个平台使用,都能够很好的做到兼容。用了一段时间后,用起来确实顺手。出于这些方面的考虑,后续基本上使用的NDK项目都会先在Clion进行编写,然后再移植到Android或者是IOS平台上面。,最近因为工作需要,要学习opengl es3.0。于是乎,就想在Clion中搭建编译环境,然后移植到Android或者是IOS平台上面,花了一点时间研究了哈,能够跑起来了,和大家一起分享哈,以下详细的搭建过程。

        1、下载《OpenGL ES3.0 Programming guide》中所使用的源码,解压;

        2、打开Clion,新建项目OpengLES项目,新建library,复制libEGL.lib、libGLESv2.lib下此目录下面,下载这两个gl库文件也可通过书中例子,安装gl访真模拟器( http://malideveloper.arm.com/resources/tools/opengl-es-emulator/ ),自动会把这两个库文件下载下来,然后配置到你的系统环境变量当中;
        3、分别把刚才下载下来的源码的两个文件夹即Common、External复制到项目的根目录下面,源工程目录如下;
        4、编写主工程CMakeLists.txt;
cmake_minimum_required(VERSION 3.6)
project(opengles3)

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

#设置输出路径
SET(EXECUTABLE_OUTPUT_PATH ${opengles3_SOURCE_DIR}/bin)
#设置静态链接库输出路径
SET(LIBRARY_OUTPUT_PATH ${opengles3_SOURCE_DIR}/lib)
#设置运行时输出路径
SET(RUNTIME_OUTPUT_DIRECTORY ${opengles3_SOURCE_DIR}/bin)

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${opengles3_SOURCE_DIR}/lib)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${opengles3_SOURCE_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${opengles3_SOURCE_DIR}/bin)

#包含头文件目录
include_directories(${CMAKE_SOURCE_DIR}/External/Include)
#包含公共组件库目录
include_directories(${CMAKE_SOURCE_DIR}/Common/Include)

#添加子目录
add_subdirectory(Common)

#链接EGLGLESv2 lib文件
set(TARGET_LIB
        ${CMAKE_SOURCE_DIR}/library/libGLESv2.lib
        ${CMAKE_SOURCE_DIR}/library/libEGL.lib
)

set(SOURCE_FILES Hello_Triangle.c)
add_executable(opengles3 ${SOURCE_FILES})
#链接库文件
target_link_libraries(opengles3 Common ${TARGET_LIB})
 
 

          5、复制下载下来的源码中Hello_Triangle.c到主工程目录,点击运行,报错, 出现此问题的原因是opengles3.exe找不到dll文件,把libEGL.dll、libGLESv2.dll复制到C:\Windows\SysWOW64(64位操作系统),如果是32位,刚复制到C:\Windows\System32即可,再次运行成功。

       最后附上源代码下载地址

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值