首页 > 解决方案 > 由于 lib 错误,Visual Studio 未编译

问题描述

我安装了“Irrklang”声音库以将其包含在项目中,但是每当我尝试编译时,我都会收到类似的错误

Severity    Code    Description Project File    Line    Suppression State
Error       unexpected token '\b'       C:\Users\HRJunior\Documents\IRRklang\lib\Winx64-visualStudio\irrKlang.lib   4

我在一个文件(irrklang.lib)中有大约 800 个,知道吗?

VS 企业 2019 / W10 1903

标签: cvisual-studio-2019irrklang

解决方案


您需要在项目属性.lib中指定该文件,看起来您可能已尝试将其包含在.#include

如果您查看下载,您应该会看到许多文件和目录,例如:

  • lib\Winx64-visualStudio\irrKlang.lib
  • bin\winx64-visualStudio\包含一些示例和 3 个 DLL
  • include\包含一堆.h文件。
  • examples\包含一堆示例项目包括 Visual Studio 解决方案。

所以我们这里有一个 DLL 库,带有一个导入库 ( .lib) 和一堆头文件。

示例项目是一个很好的比较和查看你的项目哪里出错的东西。

如果您右键单击您的项目 -> 属性 -> 链接器 -> 常规。在“附加库目录”-> 编辑下添加一行包含该.kib文件的目录,例如C:\Users\HRJunior\Documents\IRRklang\lib\Winx64-visualStudio\(此时我会注意到,如果将项目提供给其他任何人,该项目可能无法运行。您可以将 IRRklang 放在您的子目录中项目,例如C:\Users\HRJunior\Documents\CoolProject\thirdparty\IRRklang\lib\Winx64-visualStudio\然后在 MSVC 中使用$(SolutionDir)thirdparty\IRRklang\lib\Winx64-visualStudio\,然后你可以给任何人C:\Users\HRJunior\Documents\CoolProject\,它应该可以工作)。

然后在 Linker -> Input 下,对于 Additional Dependencies -> Edit 添加一行irrKlang.lib. 或者#pragma comment(lib, "irrKlang.lib")在源代码中的某处添加该行。

然后在 C/C++ -> General 下,对于 Additional Include Directories -> Edit 在包含标题的目录中添加一行,C:\Users\HRJunior\Documents\IRRklang\include.

此时您的项目应该构建,但尝试运行您会得到一个缺少 DLL 的错误,将这 3 个 DLL 文件复制到包含您的 exe 的输出目录。您可以让 VS 通过在 Build Events -> Post Build Event 的属性中自动执行此操作,然后使用复制命令在命令行中执行此操作,例如:xcopy "C:\Users\HRJunior\Documents\IRRklang\bin\winx64-visualStudio\*.dll" "$(OutDir)" /Y


推荐阅读