歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Linux下發布QT程序

Linux下發布QT程序

日期:2017/3/3 12:38:46   编辑:Linux技術

Linux下發布QT程序

概述

無論在windows下還是在linux下,可執行程序的運行都依賴於相關的運行庫,我們需要將依賴的庫找到放到特定的位置,讓可執行文件能夠找到。在不知道可執行文件依賴哪些庫時,有時可以讓它自己告訴你,例如直接運行程序會輸出缺少的庫名,執行ldd命令查看可執行文件的依賴庫。

所以發布程序就是將必要的文件放到指定的位置,並修改某些系統配置。

我發布的環境為X86下的ubuntu 10.04-desktop。

QT程序依賴的庫

在linux中,一般依賴的庫會放在/usr/lib目錄中,查找libQt*會顯示與Qt相關的庫。有些庫我們的程序不需要,我們可以在命令窗口中運行程序,它會輸出因為缺少哪些庫而不能運行,缺少的庫在/usr/lib中找到,拷貝過去即可。

例如我的程序提示依賴libQtGui.so.4、libQtNetwork.so.4、libQtCore.so.4和libaudio.so.2這4個庫。將這4個庫拷貝過去,然後進入/usr/lib,執行如下命令:

ln -slibQtGui.so.4.6.2 libQtGui.so.4

ln -s libQtNetwork.so.4.6.2 libQtNetwork.so.4

ln -slibQtCore.so.4.6.2 libQtCore.so.4

ln -s libaudio.so.2.4 libaudio.so.2

程序即可運行。

QT中的QImage

我的程序中使用到了QImage,程序可以正常運行,但圖片不能加載。網上查找資料說QImage需要依賴plugins。對於plugins我不了解也不知道QT的安裝目錄(通過apt-get install安裝的qt),所以我全局搜索plugins文件,選擇在x86環境下的plugins。我拷貝的plugins目錄在/usr/lib/qt4/目錄下。將整個文件夾拷貝到目標機子上,然後將其導出。

我的操作如下:

Plugins目錄拷貝到/usr/local/下;

編輯/etc/profile,在文件的最後加入如下兩行:

export LD_LIBRARY_PATH=/usr/local/plugins/imageformats:$LD_LIBRARY_PATH

export QT_PLUGIN_PATH=/usr/local/plugins

發布結束

發布完成後運行程序,一切正常。

Copyright © Linux教程網 All Rights Reserved