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个回答

...