C语言 Windows 11上的SDL2程序可编译,但无法执行

stszievb  于 2023-01-12  发布在  Windows
关注(0)|答案(1)|浏览(220)

尝试在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平台上开发代码之外,我做错了什么?

ovfsdjhp

ovfsdjhp1#

尝试将SDL2.dll文件复制到可执行文件所在的目录中。

相关问题