这两天在整合一个项目。具体情况是我这边负责的模块是利用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程序调用成功。