Qt 中遇到的問題

2021-05-25 02:59:37 字數 1853 閱讀 6208

在centos 5.4 (64b)中安裝qt-sdk-linux-x86_64-opensource-2010.03.bin

一、在welcome不顯示例子程式 且 編譯例子程式時:no valid qt version set. set one in tools/options

解決:tools->options->qt4->qt versions

選擇qmake的path: /opt/qtsdk-2010.03/qt/bin/qmake

二、編譯時提示錯誤:

undefined reference to `fcfreetypequeryface'

需要安裝fontconfig2.4.2 及其以上版本,而當前版本是2.4.1

tar -zxvf fontconfig-2.4.2.tar.gz -c /usr/local/src  (解壓到src資料夾中)

cd /usr/local/src/fontconfig-2.4.2

./configure --prefix=/opt/fontconfig --with-expat=builtin

mv /usr/lib/libexpat.so /usr/lib/libexpat.so.32

ln -s /usr/lib64/libexpat.so /usr/lib/

updatedb

make

make install

rm /usr/lib/libexpat.so

mv /usr/lib/libexpat.so.32 /usr/lib/libexpat.so

make clean(沒必要,留著可以make uninstall)

注意,在qt工程檔案中需要在最後增加

libs += -l/opt/fontconfig/lib /

-lfontconfig

對於64bit 

1、./configure --sysconfdir=/etc/ --prefix=/usr/ --mandir=/usr/share/man --enable-lib64 --libdir=/usr/lib64/ --with-expat=builtin

2、./configure --prefix=/usr/local/fontconfig --with-freetype-config=/usr/local/freetype/bin/freetype-config --with-expat=builtin

#find /usr -name *libexpat.so*

三、開啟sample,可以執行,但是使用debug時:

&"warning: gdb: failed to set controlling terminal: invalid argument/n"

/bin/bash: error while loading shared libraries: libqtcore.so.4: cannot open shared object file: no such file or directory

解決方法:

在/etc/ld.so.conf.d目錄下增加乙個檔案qt.conf

# qt libraries

/opt/qtsdk-2010.03/lib

然後執行

ldconfig

四、執行gdb時:

入gdb除錯程式,然後出現下面錯誤資訊:

gdb: error while loading shared libraries: libexpat.so.1: cannot open shared object file: no such file or directoryln -s /usr/lib/libexpat.so /usr/lib/libexpat.so.1

Qt 遇到的問題

1.編譯不了 2.編譯出現 qmake 的字樣 解決 工程名,工程路徑都不能是中文的 qstring str user 3.編譯出現error qstring does not name a type 解決 加標頭檔案include 檢查下是否寫成了qstirng啊,或者qstring,大小寫有關係...

Qt遇到的問題

先在.pro檔案中加入qt svg 我本來就有,但還是報錯 清理下專案。選單 build run qmake 注意 一定要執行qmake,不能只清理專案!原因分析 windows.h中定義了min巨集,中也有這個定義,兩者衝突 windows.h中microsoft定義了min max兩個巨集,qt...

QT開發中遇到的問題 連線問題

qt5 開發中,出現.obj連線問題,在本專案中 問題1 相互引用引起了.obj問題。例如 應用程式 或者動態庫 a,引用了動態庫b,而動態庫b又想要從應用程式 動態庫 a中獲取一些值,那麼這樣子會導致相互引用,或者引用不當問題,即引用的不是動態庫。這樣一旦在程式中呼叫時就會報錯,報錯為.obj 無...