使用C++实现某些算法功能后,供python调用时出错:
AttributeError: /..../libHessian4Nii.so: undefined symbol: callVesselSegNii
通过度娘得知是因为c++编译后的文件会把函数名重命名(这是便于实现重载功能)了,导致脚本调用时找不到函数名。
解决方法为使用 extern "C" 将需要暴露的头文件括起来即可。示例如下:
extern "C"{ int callVesselSegNii(char* oriNiiFile, char* maskNiiFile, char* save_path); }
重新编译后,调用正常!!!!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)