使用VScode + CMake + MinGW配置OpenGL

1. 将VScode配置CMake

需要通过MSYS2下载好MinGW_w64,以及下载好CMake,然后在VScode中配置三个文件:

  • launch.json
  • tasks.json
  • c_cpp_properties.json

将三个文件的默认编译器路径进行修改即可

2.配置GLFW库

GLFW库是针对 OpenGL 的 C 语言库,提供了渲染物体所需的最低限度的接口。允许用户创建 OpenGL 上下文,定义窗口参数以及处理用户输入,首先从官网上下载GLFW包
在这里插入图片描述
我们需要依据自己的编译器是MSVC以及MinGW版本来选择相应的下载,其中VC 2010以及Mingw只能使用32位的二进制文件。如果我们不知道我们的编译器版本是哪个,我们可以在命令行输入来查看版本。

gcc -v

在这里插入图片描述
由于这里我是通过MSYS2进行的安装,而MSYS2是集成了pacman和Mingw-w64的Cygwin升级版, 提供了bash shell等linux环境、版本控制软件(git/hg)和MinGW-w64 工具链,所以可知我是Mingw_w64,可以选择下载64bit的二进制文件,但这里推荐下载32位的,因为32位的解压缩出来会有32位也会有64位的,但是如果只下载64位的话解压缩文件夹只有64位的。如果想下载源代码,自己利用cmake进行编译,那么最终的得到的也是这三个文件在这里插入图片描述
具体可参考:https://blog.csdn.net/wrzfeijianshen/article/details/82845396
如果我们需要动态库,则选择glfw3.dll和libglfw3dll.a,如果选择静态库,则选择libglfw3.a,此处我选择了静态链接,其include文件夹中的GLFW文件夹则放入项目的include文件夹中
在这里插入图片描述

3.配置GLAD库

鉴于 OpenGL 驱动版本多,大多数函数的位置因无法在编译时确定,需要在运行时进行查询,该工作复杂又繁琐,对于开发者而言是个灾难,而 GLAD 库可以简化此过程,首先需要从官网上下载
在这里插入图片描述
下载对应的zip压缩包
在这里插入图片描述
将得到的头文件放入项目的include文件中:
在这里插入图片描述
然后将src中的glad.c编译为一个.a文件,因为Mingw使用的是.a为静态库,因此在命令行中使用如下命令:

gcc .\src\glad.c -c -I.\include\    #生成.o编译文件
ar -rc libglad.a glad.o             #生成.a静态库

这样我们就不用将glad.c文件放入我们的src文件夹中与main.cpp共存一个文件夹了,可以直接在makelists里面链接。
在这里插入图片描述
最后是编写CMakeLists.txt:

cmake_minimum_required(VERSION 3.8)
 
project(HelloGL VERSION 0.1.0)
 
# 使用 C++ 11 标准
set(CMAKE_CXX_STANDARD 17)
 
#设置输出文件夹
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_SOURCE_DIR}/output)

# 添加头文件
set(THIRD_PARTY_H ${CMAKE_SOURCE_DIR}/include)
include_directories(${THIRD_PARTY_H})
 
# 添加目标链接,该命令必须在add_executable之前
link_libraries("${CMAKE_SOURCE_DIR}/lib/libglfw3.a")
link_libraries("${CMAKE_SOURCE_DIR}/lib/libglad.a")

#收集指定目录中所有源文件的名称,并将列表存储在提供的变量中。
aux_source_directory(./src DIR_SRCS)
add_executable(HelloGL ${DIR_SRCS})
target_link_libraries(HelloGL ${Dir_SRCS})

有几个点需注意:
1.在阅读cmake文档时,对于函数的参数中括号不了解:

[]:内的内容意思是:可写可不写
{}:那就必须要在{}内给出的选择里选一个。
<>:表示必选

2.当添加新文件到./src中,需要重新cmake,因为cmake系统并不会自动检测到

4.构建系统

在终端输入:

cmake -B build
cmake --build build

可以看到会生成相应的目标文件在output中,输入以下命令进入output然后运行即可看到可以正常调用了:

cd output
./hellogl

在这里插入图片描述
以上参考:
Win10 配置 OpenGL (VScode+CMake+MSVC_2017+GLAD+GLFW)
VSCode+OpenGL+MinGW+CMake配置

最后还是推荐使用MSVC当编译器,因为MinGW现在已经很久没有人维护了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值