我正在尝试在Windows上设置SDL并且正在挣扎。
我正在尝试遵循LazyFoo的教程在Windows 8 32位的新安装。
- 我安装
MinGW
通过链接到mingw-get-setup.exe从这里:http://sourceforge.net/projects/mingw/files/,然后安装它并更新基本包。 - 我下载开发人员库
SDL2-2.0.0
(为了完全按照教程,因为当前w.0.3没有工作。)和提取主文件夹C:/,然后在它包括文件夹命名i686-w64-mingw32
x86_64-w64-mingw32
(这些具体的区别是什么?),以及其他两个文件夹叫"包括"one_answers"自由"(之间的区别到底是什么这些lib&包括文件夹的i686-w64-mingw32和x86_64-w64-mingw32文件夹内?) - 我复制他的源代码文件或制作我自己的简单测试文件,基本上只包括一个main()与'return 0;'和一个'#include "SDL2/SDL.h"
- 然后我从下面的教程中运行cmd行,我得到以下失败的结果:
C: 1_hello_SDL>g++ 01_hello_SDL.cpp -IC:mingw_dev_libincludeSDL2 -LC:mingw_dev_liblib -w-Wl,-subsystem,windows -lmingw32 -lSDL2main -lSDL2 -o 01_hello_SDL
In file included from c:mingwi686-w64-mingw32includeintrin.h:151:0,
from C:mingw_dev_libincludeSDL2/SDL_cpuinfo.h:44,
from C:mingw_dev_libincludeSDL2/SDL.h:71,
from 01_hello_SDL.cpp:5:
c:mingwi686-w64-mingw32includedvec.h: In function 'const __m128i get_mask128()':c:mingwi686-w64-mingw32includedvec.h:56:83: error: '_mm_set1_epi64' was notdeclared in this scope
static const __m128i mask128 = _mm_set1_epi64(M64((__int64)0xffffffffffffffffll));
这是它们后面跟着一大堆错误,然后按ctrl-c。
任何建议将不胜感激。谢谢!
丹
mingw-w64中的dvec.h被破坏-您需要编辑它并替换
#ifdef __SSE__
#ifdef __SSE2__