设置 SDL2 时,我在 VS Code 中出现链接错误

i am getting linking error in vs code when setting up sdl2

提问人:Khalid Khan 提问时间:3/15/2023 最后编辑:genpfaultKhalid Khan 更新时间:3/15/2023 访问量:194

问:

我正在尝试将 sdl2 设置为 vs 代码,但出现以下错误:

Warning: PowerShell detected that you might be using a screen reader and has disabled PSReadLine for compatibility purposes. If you want to re-enable it, run 'Import-Module PSReadLine'.

PS C:\Users\91790\Desktop\templateSDL> make
g++ -I src/include -L src/lib -o main main.cpp -lmingw32 -lSDL2main -lSDL2
C:\Users\91790\AppData\Local\Temp\ccpT2dRR.o:main.cpp:(.text+0xf): undefined reference to `SDL_Init'
C:\Users\91790\AppData\Local\Temp\ccpT2dRR.o:main.cpp:(.text+0x43): undefined reference to `SDL_CreateWindow'
C:\Users\91790\AppData\Local\Temp\ccpT2dRR.o:main.cpp:(.text+0x51): undefined reference to `SDL_GetError'
C:\Users\91790\AppData\Local\Temp\ccpT2dRR.o:main.cpp:(.text+0x96): undefined reference to `SDL_PollEvent'
C:\Users\91790\AppData\Local\Temp\ccpT2dRR.o:main.cpp:(.text+0xb7): undefined reference to `SDL_DestroyWindow'
C:\Users\91790\AppData\Local\Temp\ccpT2dRR.o:main.cpp:(.text+0xbc): undefined reference to `SDL_Quit'
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../libmingw32.a(main.o):(.text.startup+0xa0): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
Makefile:2: recipe for target 'all' failed
make: *** [all] Error 1
PS C:\Users\91790\Desktop\templateSDL> 
C++ visual-studio-code mingw sdl 未定义引用

评论

1赞 Biffen 3/15/2023
这回答了你的问题吗?什么是未定义的引用/未解析的外部符号错误,如何解决?
0赞 Andreas Wenzel 3/15/2023
@Biffen:OP 用于链接到 SDL 库,因此我认为您提议的副本不正确。-lSDL2
1赞 Andreas Wenzel 3/15/2023
您自己编译了 SDL2 库吗?如果是这样,你到底是怎么做到的?您是否遵循了任何具体说明?
1赞 john 3/15/2023
也许是 32/64 位兼容性问题?很难说。
0赞 drescherjm 3/15/2023
c:/mingw/bin/../lib/gcc/mingw32/6.3.0我可以看到你没有遵循 VSCode 的建议来使用 msys2 安装 MinGW: https://code.visualstudio.com/docs/cpp/config-mingw 如果你这样做了,你的 gcc 版本将是 12.2,你可以使用 pacman 安装 SDL2。

答: 暂无答案