C语言 由于 lib 错误,Visual Studio 无法编译



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

Severity    Code    Description Project File    Line    Suppression State
Error       unexpected token 'b'       C:UsersHRJuniorDocumentsIRRklanglibWinx64-visualStudioirrKlang.lib   4

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

VS 企业版 2019/W10 1903

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

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

  • libWinx64-visualStudioirrKlang.lib
  • binwinx64-visualStudio包含一些示例和 3 个 DLL
  • include包含一堆.h文件。
  • 包含一堆示例项目的examples包括Visual Studio解决方案。

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

示例项目是一件好事,可以进行比较并查看您的项目错误的地方。

如果右键单击项目 -> 属性 -> 链接器 -> 常规。在"其他库目录"->编辑"下添加一行包含.kib文件的目录,例如C:UsersHRJuniorDocumentsIRRklanglibWinx64-visualStudio(在这一点上,我要指出,如果提供给其他任何人,该项目可能不会起作用。您可以将 IRRklang 放在项目的子目录中,例如C:UsersHRJuniorDocumentsCoolProjectthirdpartyIRRklanglibWinx64-visualStudio然后在 MSVC 中使用$(SolutionDir)thirdpartyIRRklanglibWinx64-visualStudio,然后您可以给任何人C:UsersHRJuniorDocumentsCoolProject它应该可以工作(。

然后在"链接器"-">输入"下,对于"其他依赖项"-"编辑">添加一行带有irrKlang.lib的行。或者,将行#pragma comment(lib, "irrKlang.lib")添加到源中的某个位置。

然后在 C/C++ -> 常规下,对于其他包含目录 ->编辑,在包含标头的目录中添加一行,C:UsersHRJuniorDocumentsIRRklanginclude

此时您的项目应该构建,但尝试运行会得到丢失的 DLL 错误,请将这 3 个 DLL 文件复制到包含 exe 的输出目录中。您可以让 VS 在属性中自动执行此操作 生成事件 ->发布构建事件,然后使用复制命令为命令行执行此操作,例如:xcopy "C:UsersHRJuniorDocumentsIRRklangbinwinx64-visualStudio*.dll" "$(OutDir)" /Y

相关内容

  • 没有找到相关文章

最新更新