目录
一、分别下载包进行安装
一、下载安装mingw-w64
二、下载安装SDL2-devel-2.0.12-mingw,SDL2_mixer-devel-2.0.4-mingw
三、设置环境变量
四、下载配置DevIL
五、boost配置
二、下载msys进行包管理
三 `qMain(int, char**)'错误
下载mingw-w64-install.exe,安装时选择x86-64。
安装完成后目录如下:
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_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-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_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=
--build-type=
--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
安装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
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