windows mingw 64,SDL ,devil,glfw,opengl,qt环境搭建

目录

一、分别下载包进行安装

一、下载安装mingw-w64

二、下载安装SDL2-devel-2.0.12-mingw,SDL2_mixer-devel-2.0.4-mingw

三、设置环境变量

四、下载配置DevIL

五、boost配置

二、下载msys进行包管理

三  `qMain(int, char**)'错误


一、分别下载包进行安装

一、下载安装mingw-w64

下载mingw-w64-install.exe,安装时选择x86-64。

windows mingw 64,SDL ,devil,glfw,opengl,qt环境搭建_第1张图片

安装完成后目录如下:

windows mingw 64,SDL ,devil,glfw,opengl,qt环境搭建_第2张图片


MinGW-W64是同时支持32位和64位的。甚至还支持32位和64位的交叉编译(启用multilib支持的MinGW发行版例如mingw-builds可以用-m32或-m64指定)。
显然,W64和支持的架构无关。上面i686就不是64位的平台(而且可以看出这里的32也和架构没关系)。支持64为的对应三元组是x86_64-w64-mingw32。
……容易让人头疼的是,这两个项目现在都没死,偏偏还很容易因为这些字面上的原因搞错。为了下文描述方便,原版MinGW称为MinGW.org。
这里有一点非常重要:只有MinGW-W64是GCC官方支持的(尽管mingw32平台是二等公民)。Kai Tietz拥有GCC官方repo的提交权限。
所以,使用MinGW-W64的GCC一般比MinGW.org有更新更全面的支持,所以现在一般推荐MinGW-W64发行版。

转自:https://www.cnblogs.com/findumars/p/7492636.html


二、下载安装SDL2-devel-2.0.12-mingw,SDL2_mixer-devel-2.0.4-mingw

下载SDL2-devel-2.0.12-mingw  SDL2_mixer-devel-2.0.4-mingw,解压,将下载好的包中

SDL2_mixer-devel-2.0.4-mingw\SDL2_mixer-2.0.4\x86_64-w64-mingw32和

SDL2-devel-2.0.12-mingw\SDL2-2.0.12\x86_64-w64-mingw32目录下的bin include lib目录直接粘贴到上图中C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64目录(合并目录)。

三、设置环境变量

算是比较重要的配置,笔者之前就是因为环境变量没配好导致无法识别到SDL库 打开windows属性->高级->环境变量 我们直接设置系统变量 找到Path,打开新建吧../msys64/mingw64/bin复制进去,根据你的具体路径填写,这里只做参考 然后回到系统变量,新建一个C_INCLUDE_PATH

输入值为C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\include\

再新建一个CPLUS_INCLUDE_PATH

输入C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\include\;  

再新建LIBRARY_PATH

输入C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\lib

MinGW配置成功标志:在cmd控制台下输入gcc -v,如显示gcc版本信息,即成功.

https://dongqiceo.github.io/the-post-9982/

打开QT,检查SDL2配置效果

四、下载配置DevIL

下载DevIL-Windows-SDK-1.8.0解压后

D:\code\DevIL-Windows-SDK-1.8.0\DevIL Windows SDK目录下include和lib放到C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64目录(合并目录)。

下载mingw-w64-x86_64-devil-1.8.0-6-any.pkg。解压工具:https://github.com/mcmilk/7-Zip-zstd/releases

 

五、boost配置

下载boost_1_73_0,解压

进入windows命令行窗口(运行,cmd),进入D:\code\boost_1_73_0\boost_1_73_0目录,

输入bootstrap.bat.

生成b2.exe

./b2.exe install --prefix=D:\boost\boost_1.65.1_mingw --build-type=complete toolset=gcc threading=multi

--prefix=   编译后安装路径,默认C:\Boost
--build-type= 编译类型,可选minimal(最小)、complete(完整),默认minimal。
--with-    加入此参数,代表只编译的库。
--without- 加入此参数,代表忽略编译的库。
toolset             编译器,win下默认msvc,用MinGW则选择gcc。

https://blog.csdn.net/godmaycry/article/details/78707416

将D:\boost\boost_1.65.1_mingw\include\boost-1_73\boost目录下的boost文件夹拷贝到C:\MinGW\include下面

将D:\boost\boost_1.65.1_mingw\include\boost-1_73\boost下的lib文件拷贝到C:\MinGW\lib,将D:\boost\boost_1.65.1_mingw\include\boost-1_73\boost下的dll文件拷贝到C:\MinGW\bin

https://www.cnblogs.com/findumars/p/6375658.html

二、下载msys进行包管理

安装msys2

msys2下载

安装过程没有什么好说

主要是接下来的msys2配置mingw

打开msys2.exe

先检查更新: ` pacman -Syu `

用的还是pacman邪教 :laughing: ,不得不说 good job

我以前用的一直是mingw的整合包,版本太杂,十分混淆视听,如果要用最好直接下载nuwen.net上的,也包含sdl,十分省力,不过为了后续开发方便,我们今天用的是msys2

接下来直接搜索所以mingw64

pacman -Sl | grep mingw64
pacman -S mingw-w64-x86_64-SDL2
pacman -S mingw-w64-x86_64-SDL2_image
pacman -S mingw-w64-x86_64-SDL2_mixer
pacman -S mingw-w64-x86_64-devil
pacman -S mingw-w64-x86_64-glfw

环境变量

算是比较重要的配置,笔者之前就是因为环境变量没配好导致无法识别到SDL库 打开windows属性->高级->环境变量 我们直接设置系统变量 找到Path,打开新建吧../msys64/mingw64/bin复制进去,根据你的具体路径填写,这里只做参考 然后回到系统变量,新建一个C_INCLUDEDE_PATH

输入值为D:\msys64\mingw64\include\

再新建一个CPLUS_INCLUDE_PATH

输入D:\msys64\mingw64\include\; D:\msys64\mingw64\include\c++\7.2.0 再新建LIBRARY_PATH

输入D:\msys64\mingw64\lib

到此环境变量配置完毕,接下来的就是gcc的编译配置,如果大型项目也可以用makefile或者cmake等工具,今天也就不多赘述

 用QT打开项目

在pro文件中设置

LIBS += -lSDL2 -lIL -lILU -lSDL2_mixer -lglfw3 -lopengl32

参考自:

https://dongqiceo.github.io/the-post-9982/

gcc -m32 -Wall -ofoo mycube.c -L"C:\MinGW\lib" -lglut32cu -lglu32 -lopengl32

三 `qMain(int, char**)'错误

QT结合sdl做视频播放器,报如下错误:

c:\Users\qt\work\qt\qtbase\src\winmain\qtmain_win.cpp:111: error: undefined reference to `qMain(int, char**)'

查明原因是SDL和QT同时定义了main。

解决方法:

在main函数前加上

#undef main
 

 

你可能感兴趣的:(环境搭建)