Fra*_*une 6 c++ sdl visual-studio sdl-2 vcpkg
据我所知,这与现有问题并不重复。这个问题专门涉及 Visual Studio 的自动链接 SDL2 库。
我已经使用vcpkgx64-windows
安装了 SDL2 (变体):
vcpkg install sdl2 --triplet x64-windows
Run Code Online (Sandbox Code Playgroud)
我已经为 Visual Studio 提供了 vpkg 库:
vcpkg integrate install
Run Code Online (Sandbox Code Playgroud)
我的 VS 2019 项目配置为使用该Console
子系统,我的主程序如下所示:
vcpkg install sdl2 --triplet x64-windows
Run Code Online (Sandbox Code Playgroud)
为什么我需要指定SDL_MAIN_HANDLED
?似乎由于SDLmain2.lib
某种原因没有发生自动链接?
如果我不指定SDL_MAIN_HANDLED
,链接将失败:
vcpkg integrate install
Run Code Online (Sandbox Code Playgroud)
我也尝试过添加extern "C"
声明main()
但无济于事。
我已经用 SDL2 编写了很多应用程序,但这是我第一次使用 vcpkg 来定位它。
我的回答是@HolyBlackCat 的后续回答,感谢您的帮助。
在您的情况下,目录是x64-windows
,默认情况下是x86-windows
。
Right-click on your project -> Properties -> Configuration Properties
去:VC++ Directories -> Library Directories
对于Debug
配置,添加:
$(VCPKG_ROOT)\installed\x64-windows\debug\lib\manual-link
Run Code Online (Sandbox Code Playgroud)
对于Release
配置,添加:
$(VCPKG_ROOT)\installed\x64-windows\lib\manual-link
Run Code Online (Sandbox Code Playgroud)
去:Linker -> Input -> Additional Dependencies
对于Debug
配置,添加:
SDL2maind.lib
Run Code Online (Sandbox Code Playgroud)
对于Release
配置,添加:
SDL2main.lib
Run Code Online (Sandbox Code Playgroud)
现在您不应该被“main() 重新定义”错误所困扰。
归档时间: |
|
查看次数: |
4170 次 |
最近记录: |