【问题标题】:cannot see the file 'SDL2.lib'看不到文件“SDL2.lib”
【发布时间】:2019-03-05 13:36:57
【问题描述】:

这个问题不是 cannot open file 'SDL2.lib' 的重复,它讨论了同样的错误,但我的问题是我没有 SDL2.lib 文件,如果我能看到它,我可以让它工作

我正在尝试按照 Lazy Foo 的教程设置 SDL2 的开发环境。
Setting up SDL 2 on Visual Studio 2010 Ultimate

本教程适用于 Visual Studio 2010,我使用的是 Visual Studio Community Edition 2017。有问题吗?

链接库时出现问题,我从SDL version 2.0.8 (stable) 下载的 SDL2 的 Windows 开发库的 lib 目录中没有 x86 或 x64 文件夹。

所以我将它指定为lib/,而不是教程中所说的lib/x86

这些是lib 文件夹中的文件

$ ls
cmake/     libSDL2.dll.a  libSDL2_test.a   libSDL2main.a   pkgconfig/
libSDL2.a  libSDL2.la     libSDL2_test.la  libSDL2main.la

在构建 VS2017 时会抛出一个错误,指出 Cannot open file 'SDL2.lib'。是的,没有这样的文件。我需要执行额外的步骤来获取此文件吗?

当我为 CodeBlocks 配置时,它工作正常。我在这里到底做错了什么?这可能有一个明显的答案,但我无法找到它。

【问题讨论】:

  • 告诉我们 sdl2 zip 里面有什么,尤其是在 lib 目录下
  • 使用 NuGet 将 sdl2 添加到您的项目怎么样?菜单 [Tools] -> [NuGet Package Manager] -> [Manage NuGet Packages for Solution ...] ... [Browse] 搜索“sdl2”单击第一个结果并在右侧窗格中选择您的项目并点击“安装”。
  • @JohanBoulé 将文件名添加到问题中

标签: c++ visual-studio development-environment sdl-2


【解决方案1】:

库名称“libSDL2.dll.a”表示它不适用于 VS C++(对于动态链接,您需要 dll + lib,对于静态链接,您只需要 lib)。您可以使用 dumpbin.exe 和 lib.exe 从 dll 构建一个 lib 文件。您的选择是:

1) 从 GitHub 下载 zip 格式的 SDL 源文件并创建您自己的二进制文件。

2) 使用 vcpkg 并在一个命令行中安装(推荐)。

3) 从 Internet 下载 SDL 二进制文件。 (如果项目配置与您的不匹配,您可能会遇到链接器问题)

【讨论】:

  • 看他贴的SDL下载页面,他只是用错了二进制文件,windows下载了两个,msvc一个,gcc mingw一个。
  • 是的。我没有使用 VC 包,而是使用了之前用于代码块的 mingw。他的回答帮助我确定了这一点。
猜你喜欢
  • 1970-01-01
  • 2020-12-18
  • 1970-01-01
  • 2023-03-29
  • 2022-08-22
  • 2014-10-20
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
相关资源
最近更新 更多