【问题标题】: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...)。

标签: c++ cmake vtk opencascade


【解决方案1】:

按照此链接的建议 vtk_link

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

find_package(VTK  REQUIRED  COMPONENTS CommonCore RenderingOpenGL2)

但什么都没有改变。

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

【讨论】:

  • 这看起来不是解决问题的好方法。请记住,答案部分是针对解决方案而不是附加信息或问题。
  • 对不起,我是 Stackoverflow 的新手。我认为问题来自 opencascade 我包含在find_package(OpenCASCADE REQUIRED) 中,因为我的项目中暂时不需要 vtk。当我收到错误消息时,我以为我必须链接 vtk 但它没有帮助。
猜你喜欢
  • 1970-01-01
  • 2020-06-02
  • 1970-01-01
  • 2016-12-22
  • 1970-01-01
  • 2014-06-19
  • 1970-01-01
  • 2014-07-14
  • 1970-01-01
相关资源
最近更新 更多