【问题标题】:ITK 4.9 error LNK2019 for itksys::SystemInformationImplementationitksys::SystemInformationImplementation 的 ITK 4.9 错误 LNK2019
【发布时间】:2016-05-11 14:37:24
【问题描述】:

到目前为止,我已经看到很多建议通过包含缺少的库来解决此问题的帖子。这在我的情况下不起作用。

我正在尝试将我的项目链接到 ITK (v4.9)。 在调试和发布模式下,ITK 的编译都很好。然后我建立了项目 INSTALL 和 BAM,所有的库和 .h 文件都在一个位置。

项目在 Visual Studio 2012 中编译。

我将文件夹 /ITK/include/ 包含在包含字段中,将 /ITK/lib/ 作为附加依赖项的目录,并将 .lib(s) 列表包含在附加依赖项中。

结果?不工作。

  Error 1   error LNK2019: unresolved external symbol gethostbyname 
  referenced in function "public: int __cdecl     
  itksys::SystemInformationImplementation::GetFullyQualifiedDomainName
           (class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &)" (?GetFullyQualifiedDomainName@SystemInformationImplementation@itksys@@QEAAHAEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)

GetHostname、GetProcessMemoryInfo、GetProcMemoryUsed 出现同样的错误

我应该知道什么?

感谢您的帮助。

【问题讨论】:

    标签: c++ visual-studio itk


    【解决方案1】:

    包含文件夹:

    /ITK/Module/Core/Common/include/
    

    以上目录包含所有 itksys 引用。

    【讨论】:

    • 同样的错误。我一般是 VS 和 Microsoft 的新手:如果我包含一个目录,比如说 ITK/Module/Core/ 不应该是自动包含的子目录?
    【解决方案2】:

    我希望这个解决方案对某人有所帮助,因为我在使用 itk v4.13 时遇到了同样的错误。问题不在于不包括所有的 itk 库,而是 itk 库调用了在另一个外部库中定义的函数,在这种情况下是项目中使用的 sdk 版本。要解决此问题,您可以阅读以下内容:

    1. 阅读Windows Dev Center
    2. 见下面的话题CodeGuru

    或者您可以在项目属性>链接器>输入>附加依赖项下包含以下缺少的库:Psapi.lib

    【讨论】:

      猜你喜欢
      • 2018-11-22
      • 1970-01-01
      • 1970-01-01
      • 2013-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多