问题现象描述:
在VS调试情况下,运行C++调用python接口,抛出错误,“assert tlock.locked()”。
确认问题:
1、调用的python接口是没问题的!
(1):在python下能正常运行的函数且不带参数,能确认该函数没有问题;
(2):带参数的在python的main函数下能正常运行,并不代表该接口的参数传递没问题!!!
自己可以通过打印信息查看参数格式传递是否正确。比如string类型,在VS下获得输入信息传递到python接口后格式可能会出现问题,输入abc,传递到python接口后变成[‘abc’]。
2、上面的1确认没有问题后;在VS下是否按F5调试的?
若是:由于VS中直接F5调试文件和直接打开exe文件路径不一致(具体原因不详)。
解决办法:
用VS先生成exe可执行文件,然后进入Debug文件夹,通过点击运行exe文件,而不是通过VS调试模式F5,去调用py文件。(注意C++代码中导入py文件的路径不要搞错)
按照解决办法,在python中添加打印信息,以及测试功能;都以实现。