c++ - VS 自动链接在 Windows 上使用 vcpkg 安装的 SDL2 库
问题描述
据我所知,这不是现有问题的重复。这个问题专门针对 Visual Studio 的自动链接 SDL2 库。
我已经使用vcpkgx64-windows
安装了 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
由于某种原因没有发生自动链接?
如果我不指定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
,所以我不知道您可以如何“手动链接”它,但我认为这是可能的。
推荐阅读
- c# - C#~如何读取MultiLevelPointer?
- c# - 如何从 Xamarin.IOS UIImage 获取像素数据?
- c# - Dispatcher.Invoke 是否在内部调用 CheckAccess?
- python - 我可以使用 plotly 仅绘制 3D 坐标吗?
- macos - 如何在 Mac OS 上使用 Qt Designer 设置 Qwt 6.1.3?
- asp.net-mvc - MVC 为什么 Kendo 捆绑有时有效有时无效
- imagemagick - 使用 Imagick 在 Compose Over 期间添加灰度蒙版
- ansible - Ansible/python 错误:没有名为 ansible.errors 的模块
- javascript - JavaScript 音频持续时间不适用于 ALAC 文件(HTML 音频持续时间属性)
- python - dev_appserver.py 不运行应用程序引擎,而是询问我要如何打开 Windows 10 的 .py 文件