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的绝对路径。

时间:原作者:0个回答

...