我有一个简单的Qt程序,它启动了另一个程序QProcess::execute()
。
它适用于Windows(MSVC 32/64,Mingw-32),Linux(GCC),MAC(CLang)。
但是如果我尝试在Windows下的bash中运行它(在Windows上的bash on ubuntu上),对QProcess::execute()
的调用永远不会返回。
我也尝试使用QProcess::start()
,但QProcess::started
和QProcess::errorOccured
信号都没有发出,QProcess::start()
也永远不会返回。
此配置是否存在某些不兼容性?
该程序是使用GCC 4.8.4和Qt 5.7 for Linux
编译的程序看起来像这样:
#include <QProcess>
#include <QCoreApplication>
int main(int argc, char **argv)
{
QCoreApplication app(argc, argv)
QStringList args = app.arguments().mid(1);
int retcode = QProcess::execute("programm", args);
if (retcode == 0)
{
// do something here
}
return retcode;
}
“programm”是位于搜索路径中某处的可执行文件。