据我所知,这不是现有问题的重复。这个问题专门针对 Visual Studio 的自动链接 SDL2 库。
我已经x64-windows
用vcpkg安装了 SDL2(变体):
vcpkg install sdl2 --triplet x64-windows
我已经为 Visual Studio 提供了 vpkg 库:
vcpkg integrate install
我的 VS 2019 项目配置为使用Console
子系统,我的主程序如下所示:
#define SDL_MAIN_HANDLED
#include <SDL2/SDL.h>
int main(int, char*[])
{
}
为什么我需要指定SDL_MAIN_HANDLED
?似乎SDLmain2.lib
出于某种原因不会自动链接 with ?
如果我不指定SDL_MAIN_HANDLED
,链接将失败:
unresolved external symbol main referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ)
我也尝试添加extern "C"
上main()
的声明,但无济于事。
我用 SDL2 编写了许多应用程序,但这是我第一次使用 vcpkg 来定位它。
这似乎是创建包的人做出的深思熟虑的决定。
如果您查看包描述文件,您可以看到它SDL2main.lib
正在移动到manual-link
目录中。我不熟悉vcpkg
,所以我不知道您究竟如何“手动链接”它,但我认为这是可能的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句