ITK ERROR: ImageFileReader(0000017CCB9E7130): An empty string can‘t be used as an input identifier“

ITK ERROR: ImageFileReader(0000017CCB9E7130): An empty string can’t be used as an input identifier" thrown in the test body.

创建了一个新的工程,写了一个函数,用于读取NIFTI文件,在Release模式下读取正常,但是使用Debug模式,在读取图像的时候,在运行时会报错:

WARNING: In D:\ITK\InsightToolkit-5.2.1\Modules\Core\Common\src\itkLightObject.cxx, line 196
LightObject (0000017CCB9E7130): Trying to delete object with non-zero reference count.

unknown file: error: C++ exception with description "D:\ITK\InsightToolkit-5.2.1\Modules\Core\Common\src\itkProcessObject.cxx:268:
ITK ERROR: ImageFileReader(0000017CCB9E7130): An empty string can't be used as an input identifier" thrown in the test body.

起初一直没有搞明白为什么,在检查*.lib文件,一直都没有发现问题。直到在另一个工程下面,使用相同的代码,没有任何问题,查看项目配置的时候,无意发现Debugging->Environment里面有PATH=path_for_itk_bin_debug;%PATH%的配置。

这才发现,我已经把ITK的bin/Release写入了环境变量,导致在Release模式下,没有设置运行配置,会直接读取环境变量里面的值,所以运行时候是正确的。但是到了Debug模式下,在没有添加PATH=path_for_itk_bin_debug;%PATH%的配置,还是读取的Release模式下的dll文件,所以导致了出错。
Debugging->Environment里面添加了PATH=path_for_itk_bin_debug;%PATH%的配置就好了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值