安卓版qtcreator(安卓版qt)
請(qǐng)高手指教:如何將Qt程序移植到安卓系統(tǒng)中運(yùn)行?
你的linux系統(tǒng)版本太低了,RHEL5?CentOS5?
QT是做桌面開(kāi)發(fā)的,用更新快的linux發(fā)行版如Ubuntu,F(xiàn)edora之類(lèi)就沒(méi)問(wèn)題了。RHEL/CentOS 6.x應(yīng)該也是可以的。
如果真想在你現(xiàn)在的linux系統(tǒng)上運(yùn)行,并且linux比較熟的話,可以找個(gè)新版本的libstdc++.so.6,用它來(lái)運(yùn)行QtSDK(設(shè)置LD_LIBRARY_PATH)。即使這樣難保它不會(huì)再依賴其它庫(kù)的新版本。
安卓手機(jī)能上QT嗎?
有安卓版,不過(guò)問(wèn)題太多,正常使用都很難,我安裝了的,不過(guò)問(wèn)題實(shí)在太多了
怎樣才可以在別人的電腦上運(yùn)行自己的QT程序?
你可以參考SQLiteStudio這個(gè)Qt寫(xiě)的跨平臺(tái)SQLite管理工具,它自己打包了依賴的Qt庫(kù),可以做到解壓即用,兼容不同Linux發(fā)行版.道理其實(shí)跟Windows版Qt程序自帶Qt庫(kù)差不多.
編譯前給連接器傳一個(gè)參數(shù):
說(shuō)明:
-Wl 表示告訴編譯器將后面的參數(shù)傳遞給鏈接器.
rpath是gcc的一個(gè)參數(shù),當(dāng)程序被加載時(shí),會(huì)搜尋rpath目錄,尋找共享庫(kù).
rpath添加的目錄信息保存在可執(zhí)行文件中.
$ORIGIN表示可執(zhí)行文件所在的目錄.
也就是運(yùn)行時(shí)程序會(huì)先去自己所在的目錄的lib里去加載依賴庫(kù),沒(méi)有的話再去系統(tǒng)庫(kù)里找.
如果你的程序在編譯時(shí)沒(méi)有傳遞rpath參數(shù),那你也可以用patchelf來(lái)修改你程序的rpath:
注意:patchelf修改文件后再strip會(huì)導(dǎo)致文件損壞.
所以應(yīng)該先用strip刪除符號(hào)表縮小二進(jìn)制文件,然后再用patchelf設(shè)置rpath.
題外話,Android上既沒(méi)有g(shù)libc庫(kù),也沒(méi)有庫(kù)鏈接器ld-linux.so.3.
如果你要把Debian ARM(如樹(shù)莓派Raspbian)上的軟件放到Android上跑,你一樣可以打包程序依賴的共享庫(kù),讓程序也能跑在Android上,比如PHP:
也就是你把庫(kù)鏈接器ld-linux-armhf.so.3和PHP依賴的庫(kù)都放到/data/local/tmp/web/lib里,然后設(shè)置個(gè)別名,就能在Android的adb shell里運(yùn)行樹(shù)莓派的PHP了.
當(dāng)然,你也可以用patchelf設(shè)置PHP的interpreter和rpath,效果差不多:
總結(jié)
以上是生活随笔為你收集整理的安卓版qtcreator(安卓版qt)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python编程快速上手-----让繁琐
- 下一篇: Linux返回上级目录命令(linux返