根据VTK安装教程,使用Cmake编译VTK库,
cmake配置无报错后,在Visual Studio 2019 里编译安装 VTK9.1
先在debug中依次点击生成ALL_BUILD,INSTALL;
再在release中依次点击生成ALL_BUILD,INSTALL。
过程中,debug安装成功无错误,release版本却在生成ALL_BUILD过程中出现错误。
出错基本是
error LNK2001 无法解析的外部符号 __imp__calloc_dbg
error LNK2001 无法解析的外部符号 __imp__invalid_parameter
error LNK2001 无法解析的外部符号 __imp__CrtDbgReport
这三个显示在各个.obj中无法解析的外部符号。
【以下回答由 GPT 生成】
这个问题可能是由于缺少对CRT(C运行时)的依赖引起的,可以尝试以下几个解决方案来解决这个问题:
确保已正确配置CMake:在配置CMake时,请确保已正确选择了Visual Studio 2019作为生成器,并选择了正确的目标平台,例如x64。
检查项目属性设置:在Visual Studio 2019中打开VTK的解决方案,确保项目的属性设置与当前平台一致。特别是,打开项目属性窗口,选择“配置属性”>“C/C++”>“代码生成”,将“Runtime Library”设置为“多线程调试(/MTd)”(对于debug版本)或“多线程(/MT)”(对于release版本)。
确保CRT库存在:在出错时,检查Visual Studio 2019的安装目录(如C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\
)下的lib\x64
目录,确保以下库文件存在:
msvcrt.lib
libcmt.lib
libcmtd.lib
如果缺少这些库文件,请尝试重新安装或修复你的Visual Studio 2019。
LIB
:值应该包含Visual Studio 2019的库目录,例如C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30037\lib\x64
。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.