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