这两天在整合一个项目。具体情况是我这边负责的模块是利用python写的一个exe程序。由队友用利用c++直接调用执行。采用的是sysem()函数进行调用。
但是在调用的时候却遇到了问题。这个exe程序时可以运行的,在cmd命令窗口下运行也没有什么问题,但就是利用sysem()直接调用运行不了,给了绝对路径也不能够解决。
查阅相关资料后,考虑到可能是进程执行的环境变量问题。于是将本来的直接用sysem()调用代码:
system("e://2017//dist//matchTemplateApp//matchTemplateApp.exe");改为单步执行,将在cmd下进行的操作全部都整合在一起利用sysem()进行调用:
system("e:&cd e://2017//dist//matchTemplateApp &start matchTemplateApp.exe");改为下面的语句后,成功解决问题,exe程序调用成功。
本文介绍了一个项目中遇到的问题:使用C++通过system()函数直接调用Python编译生成的EXE文件失败。经过排查,发现是由于环境变量导致的问题,并通过调整调用方式最终解决了该问题。
2万+





