Qt程式發布以及在Centos7上執行的問題

2021-09-08 20:34:53 字數 3762 閱讀 8907

開發環境:win10+vmware10+ubuntu14.04_64bit+qt5.8

近段時間需要開發個介面在cenos7下執行本以為好簡單,結果虐我兩天多fk。一開始動態庫找不全,以至於找不到libq***的庫,這些庫都是qt裡面的庫好找,但是找全了後我放到centos7系統上顯示libc.so.6 version glibc2.18 not found字眼相關,在網上找了下,有不少要你重新安裝這個glibc的庫。參考如下:

文章寫的很好的,就是在第7和8步有點問題,應該是直接在qt安裝目錄  ~/qt5.7.1/5.7/gcc_64/plugins/platforms 放入copylib.sh然後就在這個目錄下執行 ./copylib.sh libqxcb.so  這樣就可以生成libqxcb.so所依賴的動態庫並放在自動新建lib中。

同時可以自己用命令來檢驗下你開發的程式所依賴的動態庫

ldd 程式名字

linux-vdso.so.1 =>  (0x00007ffcda3f5000)

libqt5widgets.so.5 => /home/yoo/qt5.8.0/5.8/gcc_64/lib/libqt5widgets.so.5 (0x00007fedb5c66000)

libqt5core.so.5 => /home/yoo/qt5.8.0/5.8/gcc_64/lib/libqt5core.so.5 (0x00007fedb5546000)

libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fedb5312000)

libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fedb500e000)

libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fedb4df8000)

libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fedb4a32000)

libqt5gui.so.5 => /home/yoo/qt5.8.0/5.8/gcc_64/lib/libqt5gui.so.5 (0x00007fedb4297000)

libgl.so.1 => /usr/lib/x86_64-linux-gnu/mesa/libgl.so.1 (0x00007fedb402f000)

libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fedb3d28000)

libicui18n.so.56 => /home/yoo/qt5.8.0/5.8/gcc_64/lib/libicui18n.so.56 (0x00007fedb388f000)

libicuuc.so.56 => /home/yoo/qt5.8.0/5.8/gcc_64/lib/libicuuc.so.56 (0x00007fedb34d7000)

libicudata.so.56 => /home/yoo/qt5.8.0/5.8/gcc_64/lib/libicudata.so.56 (0x00007fedb1af3000)

libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fedb18ef000)

librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fedb16e7000)

libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fedb14cd000)

libgthread-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgthread-2.0.so.0 (0x00007fedb12cb000)

libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007fedb0fc3000)

/lib64/ld-linux-x86-64.so.2 (0x00005615730f7000)

libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007fedb0d98000)

libxcb-dri3.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri3.so.0 (0x00007fedb0b95000)

libxcb-present.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-present.so.0 (0x00007fedb0991000)

libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x00007fedb078b000)

libxshmfence.so.1 => /usr/lib/x86_64-linux-gnu/libxshmfence.so.1 (0x00007fedb0589000)

libglapi.so.0 => /usr/lib/x86_64-linux-gnu/libglapi.so.0 (0x00007fedb035a000)

libxext.so.6 => /usr/lib/x86_64-linux-gnu/libxext.so.6 (0x00007fedb0148000)

libxdamage.so.1 => /usr/lib/x86_64-linux-gnu/libxdamage.so.1 (0x00007fedaff45000)

libxfixes.so.3 => /usr/lib/x86_64-linux-gnu/libxfixes.so.3 (0x00007fedafd3e000)

libx11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libx11-xcb.so.1 (0x00007fedafb3c000)

libx11.so.6 => /usr/lib/x86_64-linux-gnu/libx11.so.6 (0x00007fedaf807000)

libxcb-glx.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-glx.so.0 (0x00007fedaf5ef000)

libxcb-dri2.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-dri2.so.0 (0x00007fedaf3ea000)

libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007fedaf1cb000)

libxxf86vm.so.1 => /usr/lib/x86_64-linux-gnu/libxxf86vm.so.1 (0x00007fedaefc4000)

libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007fedaedb6000)

libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007fedaeb77000)

libxau.so.6 => /usr/lib/x86_64-linux-gnu/libxau.so.6 (0x00007fedae973000)

libxdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libxdmcp.so.6 (0x00007fedae76c000)

注:一般libq***的庫是qt安裝目錄下的,其他庫基本都是linux上基礎庫,例如gcc c庫 c++庫等如果在另一台系統執行程式提示版本錯誤應該考慮版本太低需要公升級。。。。

Qt程式發布

debug版本發布 附帶qt的bin目錄下q d4.dll 若程式中使用了qt的plugins 則在發布程式目錄下建立相應的plugins目錄 若用visual studio 2005編譯 則需visual studio安裝目錄下 vc redist debug nonredist x86 micr...

Qt 發布程式

define me freshman 我是新手,發現錯誤請指正 你已經很厲害,可以寫一些實現自己想法的程式了。那麼,寫好了之後,你需要分發給使用者來使用。可在本機可以執行的程式,到了客戶端卻總是無法執行。要麼提示,程式配置錯誤,請重新安裝。由於應用程式配置不正確,應用程式未能啟動 vc2005編譯的...

發布Qt程式

發布過程中常遇到的問題就是缺少dll。如果直接報缺少某某dll,問題很明顯。有時候報 這個錯誤不是很明顯,原因基本上還是缺少dll。解決辦法如下 切換到release模式,先build在clear,這樣就只剩下乙個可執行檔案,或者將可執行檔案單獨複製到乙個資料夾。這一步就是新增依賴的dll,網上用的...