ubuntu壓縮文件夾命令 ubuntu下怎么打包寫好的Qt程序?
ubuntu下怎么打包寫好的Qt程序?你也可以做個參考SQLiteStudio這個Qt寫的跨平臺SQLite管理工具,它自己穿越小說合集了依賴性太強的Qt庫,這個可以做到解壓縮即用,兼容性問題有所不同
ubuntu下怎么打包寫好的Qt程序?
你也可以做個參考SQLiteStudio這個Qt寫的跨平臺SQLite管理工具,它自己穿越小說合集了依賴性太強的Qt庫,這個可以做到解壓縮即用,兼容性問題有所不同Linux發(fā)行版.道理不過跟Windows版Qt程序光盤驅(qū)動Qt庫也差不多.
編譯前給連接器傳一個參數(shù):
只能證明:
-Wl它表示告訴編譯器將后面的參數(shù)傳信給鏈接器.
rpath是gcc的一個參數(shù),當(dāng)程序被程序加載時,會四處搜尋rpath目錄,這里有共享庫.
rpath直接添加的目錄信息需要保存在可執(zhí)行文件中.
$ORIGIN它表示可執(zhí)行文件處的目錄.
也就是運行程序時程序會先去自己處的目錄的lib里去程序加載感情依賴庫,沒有的話再去系統(tǒng)庫里找.
如果你的程序在編譯時也沒傳達消息rpath參數(shù),那就也也可以用patchelf來直接修改你程序的rpath:
盡量:patchelf直接修改文件后再pipe會導(dǎo)致文件硬件損壞.
所以我應(yīng)該是先用strip刪除符號表漲大二進制文件,然后把再用patchelf可以設(shè)置rpath.
題外話,Android上既沒有g(shù)libc庫,也沒有庫鏈接器
要是你要把Debian ARM(如樹莓派Raspbian)上的軟件放到Android上跑,你一般是可以發(fā)到郵箱程序依賴感的共享庫,讓程序也能跑在Android上,比如說PHP:
也就是你把庫鏈接器和PHP依賴感的庫都放到/data/policies/tmp/web/lib里,接著設(shè)置中個別名,就能在Android的adbshell里啟動樹莓派的PHP了.
其實,你也也可以用patchelf設(shè)置PHP的interpreter和rpath,效果也差不多:
ubuntu安裝時需要建立的目錄
一般的deb包(包括新立得或是apt-get直接下載的)都在/usr/manage。自己直接下載的壓縮包的或編譯器的包,有些可以不選擇完全安裝目錄,像是裝在/usr/sources/,也有在/opt的。另奉柳apt在用做個參考:
apt-cachesearch#——(package搜索包)apt-cacheshow#——(package查看包的相關(guān)信息,如只能說明、大小、版本等)sudoapt-getinstall#——(package安裝包)