尝试在Windows 11上使用SDL 2库编写C程序-零编译器错误,但仍然无法执行编译后的程序。
在我的系统上我安装了MINGW 32 GCC编译器,编译和运行一个“hello world”是没有问题的。我下载的SDL 2版本是mingw 32-devel的变体。
在我的SDL 2项目中,我从SDL 2的i686版本复制了include和lib文件夹,以及相应的.dll文件。项目结构:
.
| src
| include
| lib
| SDL2.dll
| Makefile
| sdl_test.c
c文件在Linux上编译得很好,它只打开一个窗口并等待退出信号。
如下图所示,编译在Windows上不会产生警告或错误,但无法运行:
PS C:\Users\eiriken\Documents\sdl-test> make
gcc -Wall -Isrc/include -Lsrc/lib sdl-test.c -lmingw32 -lSDL2main -lSDL2 -o out.exe
PS C:\Users\eiriken\Documents\sdl-test> .\out.exe
Program 'out.exe' failed to run: The specified executable is not a valid application for this OS platform.At line:1 char:1
+ .\out.exe
+ ~~~~~~~~~.
At line:1 char:1
+ .\out.exe
+ ~~~~~~~~~
+ CategoryInfo : ResourceUnavailable: (:) [], ApplicationFailedException
+ FullyQualifiedErrorId : NativeCommandFailed
除了尝试在Windows平台上开发代码之外,我做错了什么?
1条答案
按热度按时间ovfsdjhp1#
尝试将SDL2.dll文件复制到可执行文件所在的目录中。