Qt_setup_SDL2
教程
检查版本
Qt use MINGW, so download SDL2 in correspond version
主要参考的教程是
次要参考的教程是
比较全面的教程是,不过介绍用的是VS,导出模板,CMake配置也教了
环境路径设置好,对库的链接在pro
文件中配置好,主程序中include
即可。
个人疑问和AI回答
以下图片是下载下来的目录。
里面有lib
,mingw相关的有i686...
和x86_64-w64
他们之间有什么不同吗?
动态库和静态库的使用场景
lib
文件夹通常包含编译好的库文件,这些库文件是用于链接到你的应用程序中的,而不是直接用于运行时的。在Windows系统中,库文件通常是静态库(.lib)或动态库(.dll)dynamic link library,其中:
.lib
文件是静态库文件,它们在编译时被链接到你的应用程序中,使得库的代码成为应用程序的一部分。.dll
文件是动态链接库文件,它们在运行时被应用程序加载,允许多个程序共享同一份库代码。
对于SDL(Simple DirectMedia Layer)这样的库,如果你需要在运行时动态加载库(比如在不支持静态链接的环境中),你应该使用.dll
文件。在x86_64-w64-mingw32
这样的目录下,通常会提供编译好的.dll
文件,用于64位的Windows系统。
直接选择lib
文件夹可能不会给你正确的文件类型或架构版本的库文件。你需要根据你的应用程序的需要(静态或动态链接)以及目标平台(32位或64位)来选择正确的文件。对于64位系统,确保选择的是64位的.dll
文件,这样可以保证最佳的性能和兼容性。
两个mingw前缀的区别
i686
是一个指令集架构,它是Intel 80686微处理器的简称,属于x86架构的32位版本。在Linux系统中,i686
通常用来表示32位的Intel或AMD处理器。这个架构的名称来源于最初的80686处理器,尽管现代的处理器已经远远超出了最初的686型号的性能。
在编译软件或库时,如果你的目标是为32位的x86系统编译:
- 在Linux发行版中,32位的库文件通常位于以
i686
命名的文件夹中。 - 在Windows系统中,32位的库文件通常位于以
x86
命名的文件夹中。
对于64位系统,你应该选择64位的库文件(例如x86_64-w64-mingw32
中的文件)
在发行版中tar和gz是什么
mingw.tar.gz
文件名中的 tar
和 gz
分别代表两种不同的压缩和归档技术:
- tar:这是一个用于将多个文件和目录打包成一个单独文件的工具,通常用于在 Unix 和类 Unix 系统中。
tar
本身并不压缩文件,它只将文件和目录归档。 - gz:这是 Gzip(GNU Zip)的文件扩展名,表示该文件经过压缩以减少其大小。Gzip 是一种常见的压缩算法,通常用于压缩
tar
归档文件。
结语
跟着教程配置环境不难,但是相关的信息对我这种新手而言还是有许多不懂的。