如何解决 LINK:致命错误 LNK1181:无法打开输入文件 'vtkCommonCore-9.0.lib'

Posted

技术标签:

【中文标题】如何解决 LINK:致命错误 LNK1181:无法打开输入文件 \'vtkCommonCore-9.0.lib\'【英文标题】:How to solve LINK : fatal error LNK1181: cannot open input file 'vtkCommonCore-9.0.lib'如何解决 LINK:致命错误 LNK1181:无法打开输入文件 'vtkCommonCore-9.0.lib' 【发布时间】:2020-10-27 15:20:17 【问题描述】:

我将库 OpenCasCade 用于 windows 上的 C++ 项目。我已使用 conda 将其更新为 7.4.0。一个新版本的 vtk (vtk-9.0.1) 随之而来

我使用 CMake 构建项目。更新之前没有问题,因为当我编译时我有消息LINK : fatal error LNK1181: cannot open input file 'vtkCommonCore-9.0.lib

我尝试直接 vtkfind_package 链接但没有成功...

如果有人有线索就好了?

【问题讨论】:

无法打开图书馆是三件事中的一件或多件。 1.您指定的路径和/或文件名错误,2.您混合使用 32 位和 64 位,3.文件损坏 我尝试将 vtk 与 find_package 直接链接,但没有成功。 也许你应该问一个不同的问题,关于显示最小的 CMakeLists.txt 和你看到的输出。如果没有更多信息,没有人可以帮助解决此问题。 您是在尝试构建具有 VTK 9.0 依赖项的 Open CASCADE Technology(例如,对于 TKIVtk 工具包),还是正在构建应用程序?在第一种情况下 - 您是否尝试过 OCCT 7.5.0 测试版,它有望与 VTK 9.0 一起构建良好? @gkv311 我正在尝试构建一个应用程序,但不幸的是我无法访问 OCCT 7.5.0。 但是由于您不在应用程序中使用 TKIVtk,因此 OCCT 版本在这里并不重要(因为 VTK 是一个可选依赖项,最简单的方法是在没有 VTK 的情况下构建 OCCT;虽然我不不明白为什么在这种情况下 CMake 会尝试链接到 VTK...)。 【参考方案1】:

按照此链接的建议 vtk_link

我在我的 CMakeLists.txt 中添加了命令

find_package(VTK  REQUIRED  COMPONENTS CommonCore RenderingOpenGL2)

但什么都没有改变。

最后, 我已经解决了这个问题。来自 conda 的包 OCCT 带有一个 vtk 依赖项。我选择了相同的 OCCT 版本(7.4.0),但具有以前的内部版本号。它解决了问题。

【讨论】:

这看起来不是解决问题的好方法。请记住,答案部分是针对解决方案而不是附加信息或问题。 对不起,我是 *** 的新手。我认为问题来自 opencascade 我包含在find_package(OpenCASCADE REQUIRED) 中,因为我的项目中暂时不需要 vtk。当我收到错误消息时,我以为我必须链接 vtk 但它没有帮助。

以上是关于如何解决 LINK:致命错误 LNK1181:无法打开输入文件 'vtkCommonCore-9.0.lib'的主要内容,如果未能解决你的问题,请参考以下文章

链接:致命错误 LNK1181:无法打开输入文件“zz.exe”

LNK1181:无法打开输入文件“m.lib”

致命错误 LNK1181:无法打开不是依赖项的输入文件“XXX.lib”

Node-java:安装错误:“致命错误 LNK1181 无法打开输入文件 DelayImp.lib”

尝试 npm install web3 时出现致命错误 LNK1181

在 Windows (VC90) 中使用 C 绑定构建 Python 包导致 LNK1181 致命错误