【问题标题】:A project with a third-party library is not being built未构建具有第三方库的项目
【发布时间】:2019-12-19 22:29:55
【问题描述】:

我在用 C++ 构建项目时遇到问题。默认控制台项目或使用 WINAPI 的项目可以正常工作,但如果我连接 SFML 库,链接器会给我这个:“错误 LNK1104 无法打开文件 'sfml-system.lib'”。甚至在指定 SFML 库之前,我就为测试添加了 "opengl32.lib" 库,但它对此保持沉默。显然问题只存在于第三方库中。顺便说一句,我不是新手,我已经有大约一年使用 SFML 的经验,但我只在 Sublim Text 3 或另一台安装了 Visual Studio 的 PC 上与他一起工作。这是我第一次在我的计算机上的 Studio 中构建 SFML 项目,因为我刚刚决定完全切换到使用 Visual Studio。我已经安装了 Visual Studio 2017。

截图:

error text

linker input

linker general

c/c++ general

【问题讨论】:

  • 我唯一的猜测是您的文件路径错误或库名称拼写错误。
  • 无法在Visual Studio 中打开.lib 通常意味着三件事之一。 1. 文件在您告诉 IDE 的位置不存在,或者文件名拼写错误或未在链接器的搜索路径中添加正确的路径,2. 文件已损坏,或 3. 您正在混合 32 位和 64 位。
  • 伙计们,我已经连续 4 个小时试图了解这是怎么回事。当然,我做的第一件事是访问 Microsoft 和 SFML 网站并尝试了所有可能的选项。但错误甚至没有改变。

标签: c++ visual-studio sfml


【解决方案1】:

这可能无法直接回答您的问题,但我认为没有多少人知道这一点。您可以通过打开您的项目,进入 Tools->NuGet Package Manager->Manage NuGet Packages for Solution... 为您的项目“安装”sfml... 您可以在此处浏览例如“SFML”,只需安装所需的软件包。它比手动链接要容易得多,但也许由于某种原因你不能使用它。至于为什么链接在您的情况下不起作用,您需要向我们展示您的链接器设置。

【讨论】:

  • 关于链接器设置,这里是它们的截图链接。 i.stack.imgur.com/XmcML.png i.stack.imgur.com/uhZKq.png 关于 NuGet,也许你是对的!我第一次听说它,但它可能会对我有所帮助。试了之后再写。我仍然需要安装它,因为它不在我的工具中。
  • 当我再次尝试手动配置链接器时,项目构建崩溃。但!当我通过 NuGet 安装 SFML 时,它起作用了! 感谢您提供如此宝贵的建议!
猜你喜欢
  • 2014-07-25
  • 1970-01-01
  • 2016-03-24
  • 1970-01-01
  • 1970-01-01
  • 2016-12-15
  • 1970-01-01
  • 1970-01-01
  • 2022-11-09
相关资源
最近更新 更多