linuxqt5
① linux qt4怎麼打開qt5
Qt5推出一段時間了,經過了試用,雖然還存在一些問題,比如Designer 缺少 WebView 和 ActiveQt 的UI工具,此外 WebKit 的 Release 版本似乎和Visual-Studio 2012 Express 編譯器不太吃勁,老是報運行時錯誤——好在目前用到的模塊都測試過了。
1,修改路徑系統。Qt4 的 QtGUI下很多類被獨立到widgets模塊里了,為了提高兼容性,把這些include 的抬頭全去了,直接是 #include<qapplication> ,這樣,通過 Qt += 模塊名,即可彌合4,5之間的差異。
2,添加一個宏替換,Qt ::WFlag變成 Qt5 的 WindowFlags, 小問題。
3,插件系統的修改。 新的 Q_PLUGIN_METADATA 在插件實現類的首部,代替了以往在 CPP里Export 的模式,對遷移沒有影響。加入編譯預處理宏,判斷一下標志,決定採用哪一種方法。
4,字元串處理方式問題。目前,由於項目對中文、英文和國際化的使用較為規范,沒有遇到亂碼的問題,可以認為兼容性較好。
5,第三方依賴性
如果引用了 Postgresql 或 MySQL的Sql 連接插件,注意把 libpq 和 libmysql相關的庫文件拷貝到可執行文件所在文件夾下,而不是 plugins 所在的文件夾,否則盡管可以枚舉到驅動,但連接可能失敗。如果引用了OCI的插件,注意不要拷貝oci.dll 到發布文件夾,在某些情形下,會導致連接失敗。而是利用發布目的機器路徑系統上的Oracle 連接實例來獲取依賴。
6、發布程序
Qt5的plugins 文件夾中的內容,不要忘記一起發布。
總結: 經過測試, Qt4 到 5 的轉換比 Qt3->4 要平滑很多,一般的項目均可以快速遷移。
② 怎麼樣在linux系統下修改qt5,3,2軟體環境變數
修改環境變數
#vi /etc/profile
在該文件的末尾加上以下語句:
PATH=/usr/local/qt4.3.2/bin:$PATH QTDIR=/usr/local/qt4.3.2 MANPATH=$QTDIR/man:$MANPATH LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH export PATH QTDIR MANPATH LD_LIBRARY_PATH
為了使重新設置的環境變數生效運行
#source /etc/profile
當然,上面的步驟是設置全局的環境變數,你也可以在$home/.bash_profle進行相應設置,但別忘了用source ~/.bash_profle時你的環境變數重新生效。要麼,那麼你也只有重新注銷一次讓環境變數生效,這樣做就是為了節省時間。
③ linux下qt程序怎麼靜態調用libqt5core.so
1,如果同時打開靜態庫和運行程序調用,調式模式下,可以進入靜態庫的內部函數進行調試;
2,其實不用把shadow build取消勾選;文件輸出的文件就是lib***.a的文件,可以在shadow目錄裡面很方便找到;
3,新的項目使用的時候,就是讓其能找到lib***.a,和該庫的h頭文件;
4,QT的編譯輸出的靜態庫名字會自動在項目名字前加lib三個字,後綴是.a;
5, QT5.15的編程的工程與該例子中缺少「需要什麼模塊就添加什麼」的部分;
④ 求助,我在linux下安裝的Qt5為什麼用GDB調試器無法進入源碼
打開命令終端面板輸入:sudo apt-get install gdb 如圖所示: 即可安裝,如果還是不可以,那就使用下面這種方式安裝: 打開終端輸入: wget ftp://ftp.gnu.org/gnu/gdb/gdb-7.9.tar.gz 下載完畢後解壓 tar -zxvf /gdb-7.9.tar.gz 然後進行安裝即可
⑤ Qt5 linux 無法連接sqlite
先安裝好sqlite,然後去系統軟體源中找qt自帶的sqlite的驅動安裝。
Linux平台下解決Qt5連接mysql資料庫的問題:輸入sudoapt-getinstalllibqt5sql5-mysql解決,這種方法只能解決Qt是用sudoapt-getinstallqt-sdk命令裝的低版本的Qt5(如5、2、x)缺少MySQL驅動問題,如果你的Qt5版本為5、7、X,那麼就不能用這種方法解決,請參考下面的方法。
⑥ linux安裝qt提示無法安裝二進制文件
具體安裝步驟如下:
1、雙擊啟動安裝包之後,將會打開一個歡迎界面。在這里,直接點擊「下一步」即可。
2、接著,會提示你登陸Qt賬戶。這個Qt賬戶對普通人來說沒什麼必要,所以直接點擊下面的「Skip」跳過即可。
3、隨後,便會彈出真正的開始安裝界面,點擊「下一步」。
4、在安裝文件夾的界面,建議大家要將Qt安裝到D盤。其他保持默認即可。繼續點擊「下一步」。
5、在選擇組件界面,請務必要選對安裝Qt所需要的組件。首先,點擊各項前面的>箭頭展開子項的內容。
6、在Qt5、9一項中,如果你是使用MinGW進行編譯,請務必選中MinGW模塊。而如果你希望調用VS的編譯器進行編譯,則需要勾選對應的VS模塊。當然,如果希望進行安卓開發,則安卓模塊是少不了了。
至於其餘的一些模塊,則可以根據自身需要勾選。
7、接著看工具項(Tools)的選擇。第一項是CDB的調試器,如果你僅使用MinGW進行編譯,則此項可以不選。第二項雖然名字帶MinGW,但只是用於交叉編譯的(交叉編譯即在某一平台上編譯用於其他平台的程序),如果用不到,也可以不選。選擇完成後,繼續點擊「下一步」。
8、在打開的頁面中勾選「我已經閱讀並同意條款」(原文是英文)。然後,繼續一路點擊「下一步」,直到安裝完成就可以了。
⑦ Qt5 在Linux 下的編譯,該怎麼處理
[wanglj@localhost testQT]$ make
g++ -o testQT main.o -L/opt/Qt5.1.1/5.1.1/gcc_64/lib -lqt-mt -lXext -lX11 -lm
main.o: In function `main':
/home/wanglj/testQT/main.cpp:6: undefined reference to `QApplication::QApplication(int&, char**, int)'
main.o: In function `QString':
/usr/include/QtCore/qstring.h:413: undefined reference to `QString::fromAscii_helper(char const*, int)'
main.o: In function `main':
/home/wanglj/testQT/main.cpp:7: undefined reference to `QLabel::QLabel(QString const&, QWidget*, QFlags<Qt::WindowType>)'
main.o: In function `~QString':
/usr/include/QtCore/qstring.h:869: undefined reference to `QString::free(QString::Data*)'
/usr/include/QtCore/qstring.h:869: undefined reference to `QString::free(QString::Data*)'
collect2: ld 返回 1
make: *** [testQT] 錯誤 1
但若直接用 qtcreator 打開編譯,則無錯誤
並且find -name libqt-mt* 也找不到其他版本的該文件
用qtcreator編譯好的可執行文件,也找不到連接該lib文件
[wanglj@localhost build-testQT-桌面-Debug]$ ldd testQT
linux-vdso.so.1 => (0x00007fff4ddff000)
libQtGui.so.4 => /usr/lib64/libQtGui.so.4 (0x000000397f000000)
libQtCore.so.4 => /usr/lib64/libQtCore.so.4 (0x000000397ea00000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x0000003978600000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007fda6a081000)
libm.so.6 => /lib64/libm.so.6 (0x0000003977a00000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x0000003983a00000)
libc.so.6 => /lib64/libc.so.6 (0x0000003977e00000)
libgthread-2.0.so.0 => /lib64/libgthread-2.0.so.0 (0x000000397a600000)
librt.so.1 => /lib64/librt.so.1 (0x0000003978e00000)
libglib-2.0.so.0 => /lib64/libglib-2.0.so.0 (0x0000003979200000)
libpng12.so.0 => /usr/lib64/libpng12.so.0 (0x000000397be00000)
libz.so.1 => /lib64/libz.so.1 (0x0000003978a00000)
libfreetype.so.6 => /usr/lib64/libfreetype.so.6 (0x000000397ba00000)
libgobject-2.0.so.0 => /lib64/libgobject-2.0.so.0 (0x0000003979e00000)
libSM.so.6 => /usr/lib64/libSM.so.6 (0x0000003985a00000)
libICE.so.6 => /usr/lib64/libICE.so.6 (0x0000003984e00000)
libXi.so.6 => /usr/lib64/libXi.so.6 (0x000000397ce00000)
libXrender.so.1 => /usr/lib64/libXrender.so.1 (0x000000397d600000)
libXrandr.so.2 => /usr/lib64/libXrandr.so.2 (0x000000397de00000)
libXfixes.so.3 => /usr/lib64/libXfixes.so.3 (0x000000397da00000)
libXcursor.so.1 => /usr/lib64/libXcursor.so.1 (0x000000397e200000)
libXinerama.so.1 => /usr/lib64/libXinerama.so.1 (0x000000397e600000)
libfontconfig.so.1 => /usr/lib64/libfontconfig.so.1 (0x000000397d200000)
libXext.so.6 => /usr/lib64/libXext.so.6 (0x000000397c600000)
libX11.so.6 => /usr/lib64/libX11.so.6 (0x000000397b600000)
libdl.so.2 => /lib64/libdl.so.2 (0x0000003978200000)
/lib64/ld-linux-x86-64.so.2 (0x0000003977600000)
libuuid.so.1 => /lib64/libuuid.so.1 (0x0000003983600000)
libexpat.so.1 => /lib64/libexpat.so.1 (0x000000397c200000)
libxcb.so.1 => /usr/lib64/libxcb.so.1 (0x000000397ae00000)
libXau.so.6 => /usr/lib64/libXau.so.6 (0x000000397aa00000)
------解決方案--------------------
INCPATH = -I/usr/lib64/qt-3.3/mkspecs/default -I. -I. -I$(QTDIR)/include
這一行看上去你調用的qmake不是5.1.1的。試試指定完整路徑運行qmake
/opt/Qt5.1.1/5.1.1/gcc_64/bin/qmake testQT.pro
⑧ linux下qt5安裝後打不開(沒反應),怎麼辦
用終端進入到qtcreator的安裝目錄,在其目錄下執行 /qtcreator,看看終端上顯示什麼錯誤。
⑨ 求教Linux下Qt5鏈接MySQL資料庫問題
連接Mysql資料庫需要添加資料庫的類型是QMYSQL,不是QSQLITE,QSQLITE對應的資料庫管理系統是SQLite。QSqlDatabase db=QSqlDatabase::addDatabase("QMYSQL");
這樣的話,你調用下lastError,看一下為什麼。
官方文檔對QSqlDatabase open方法的說明原話:
Opens the database connection using the current connection values. Returns true on success; otherwise returns false. Error information can be retrieved using lastError().
⑩ Linux+qt5最小需要多大的內存
最小543MB。
Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。
Linux有上百種不同的發行版,如基於社區開發的debian、archlinux,和基於商業開發的RedHatEnterpriseLinux、SUSE、OracleLinux等。