【问题标题】:c++ unresolved external symbol itksys-4.13.lib, SystemInformationImplementationc++ 未解析的外部符号itksys-4.13.lib,SystemInformationImplementation
【发布时间】:2018-11-22 21:07:58
【问题描述】:

我正在尝试编译代码,其中我使用在静态库 .lib 中定义的类。 此类使用 itk 函数,包含在 .cpp 中。

我给我的代码,定义这个类的项目的 .lib 和 .h。

当我尝试编译时,我得到了这个错误:

lib itksys-4.13.lib 很好地传递给编译器。 在视觉工作室中,如果我看: Project->Properties->Linker->CommandLine 可以看到。 (它是使用 qmake 传递的。在 .pri 中:

MyITK {
  CONFIG_FOUND += MyITK
  QMAKE_LIBDIR += $${PACKAGE_LIB}/MyITK
  win32:LIBS += ITKBiasCorrection-4.13.lib \
etc...)

在 .pro 中:

CONFIG += MyITK

)

如果有 lib,我不明白为什么会出现此错误。

【问题讨论】:

  • MSDN page 底部查看您必须链接的库。
  • 谢谢,我将 psapi.lib 添加到链接器中,它可以工作。

标签: c++ unresolved-external itk


【解决方案1】:

您需要to use CMake 来配置您的基于 ITK 的项目,而不是 QMake。

如果您真的不想使用 CMake,或者由于某种原因不能使用,您可以创建一个使用 CMake 的项目版本并复制所使用的库以及其中的一些定义。有很多库,而您的手动规范显然遗漏了其中一些。

【讨论】:

  • 我不能使用 cmake。我进行包装的软件需要 QMake,我更喜欢 CMake,但我别无选择。
  • CMake 可用于 Qt 项目。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-28
  • 2012-11-19
  • 1970-01-01
  • 2012-12-17
  • 2012-06-30
  • 1970-01-01
相关资源
最近更新 更多