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的絕對路徑。

时间: 原作者:

...