qt - 在Qt程序中,qprocess如何嵌入二进制可以执行( 在运行时执行)?

  显示原文与译文双语对照的内容
127 1

我正在使用 Qt 编写一个跨平台 C++ 程序,并且我想在程序中打包/嵌入多个二进制可执行文件。 程序应该能够在运行时执行这些二进制文件。

我想,我需要使用QResource和QProcess的start() 和":/。"表示法,但是我并没有得到正在运行的流程。 有什么我缺少的? 它应该像这样工作? 是否需要将二进制设置为可执行文件?

背景:我正在编写一个使用的工具,并且我不想让最终用户手动安装 Git 。

( 在 Mac OS X 上试试这个。)

更新:

我正在使用下面的代码( C++,Mac OS X 上的Qt ):


QString program =":/git";


QStringList arguments;


arguments <<"help" <<"commit";


myProcess->start(program, arguments);



Git可执行文件在项目路径中,我的resources.qrc 像这样引用它:


<qresource prefix="/">


 <file>git</file>


</qresource>



我没有得到错误,但是程序没有执行。 将 program 设置为非现有文件时,行为是相同的。 将 ":/git" 替换为git的绝对路径。

时间: 原作者:

...