Visual Studio 2019 编译安装 VTK9.1过程中,release版本编译出现错误

根据VTK安装教程,使用Cmake编译VTK库,

img

cmake配置无报错后,在Visual Studio 2019 里编译安装 VTK9.1
先在debug中依次点击生成ALL_BUILD,INSTALL;
再在release中依次点击生成ALL_BUILD,INSTALL。

过程中,debug安装成功无错误,release版本却在生成ALL_BUILD过程中出现错误。

img

img

出错基本是
error LNK2001 无法解析的外部符号 __imp__calloc_dbg
error LNK2001 无法解析的外部符号 __imp__invalid_parameter
error LNK2001 无法解析的外部符号 __imp__CrtDbgReport
这三个显示在各个.obj中无法解析的外部符号。

【以下回答由 GPT 生成】

这个问题可能是由于缺少对CRT(C运行时)的依赖引起的,可以尝试以下几个解决方案来解决这个问题:

  1. 确保已正确配置CMake:在配置CMake时,请确保已正确选择了Visual Studio 2019作为生成器,并选择了正确的目标平台,例如x64。

  2. 检查项目属性设置:在Visual Studio 2019中打开VTK的解决方案,确保项目的属性设置与当前平台一致。特别是,打开项目属性窗口,选择“配置属性”>“C/C++”>“代码生成”,将“Runtime Library”设置为“多线程调试(/MTd)”(对于debug版本)或“多线程(/MT)”(对于release版本)。

  3. 确保CRT库存在:在出错时,检查Visual Studio 2019的安装目录(如C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\)下的lib\x64目录,确保以下库文件存在:

  4. msvcrt.lib
  5. libcmt.lib
  6. libcmtd.lib

如果缺少这些库文件,请尝试重新安装或修复你的Visual Studio 2019。

  1. 检查环境变量:确保系统的环境变量配置正确。检查以下环境变量是否正确设置:
  2. LIB:值应该包含Visual Studio 2019的库目录,例如C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\lib\x64
  3. INCLUDE:值应该包含Visual Studio 2019的头文件目录,例如C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\include

如果环境变量配置不正确,请更新它们并重新编译。

如果上述解决方案都不能解决问题,尝试更换VTK版本或者搜索相关错误信息以获取更多的解决方案。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

你把报错复制出来发给我

错误 __imp__CrtDbgReport 需要检查你使用的运行时库。在release模式是否使用了调试版本的库/MDd.