2011-04-07 54 views
0

我正在用QT4編寫一個應用程序。目前我已經安裝了OpenSuse 11.4 x86_64。我需要爲32位平臺構建一個應用程序,因爲我的一個包含的庫已經在此版本中編譯。我在系統中缺少什麼?

在qt-Creator中,編譯選項,我設置參數:-spec linux-g++-32

g++ -m32 -o Faktura main.o mainwindow.o timer.o QueryAtlasFactory.o 
      MySqlQueryAtlas.o moc_querythread.o moc_printthread.o 
      qrc_zasoby.o  
     -L/usr/lib64 /home/neon/workspace/qt4/Faktura/drukarki/elzab/elzabdr.a 
     -lQtSql -L/usr/lib64 
     -lQtGui 
     -L/usr/X11R6/lib64 -lQtCore 
     -lpthread 

不幸的是,編譯鏈接64位庫,並返回錯誤:rpm -qa *qt*

libqt4-sql-mysql-4.7.1-7.2.x86_64 
libqt4-devel-doc-data-4.7.1-7.1.noarch 
kdevelop4-pg-qt-devel-0.9.0-3.1.x86_64 
mono-qt-4.6.0-3.4.x86_64 
libqt4-sql-32bit-4.7.1-7.1.x86_64 
yast2-qt-pkg-2.20.3-3.1.x86_64 
vlc-qt-1.1.8-1.pm.2.4.x86_64 
libqt4-4.7.1-7.1.x86_64 
libqt4-sql-mysql-32bit-4.7.1-7.2.x86_64 
qtcurve-gtk2-32bit-1.8.1-3.1.x86_64 
yast2-qt-2.20.4-1.2.1.x86_64 
libqt4-devel-doc-4.7.1-7.3.x86_64 
mono-qt-devel-4.6.0-3.4.x86_64 
qt4-x11-tools-4.7.1-7.3.x86_64 
libqt4-devel-4.7.1-7.1.x86_64 
libqt4-sql-4.7.1-7.1.x86_64 
libqt4-sql-sqlite-4.7.1-7.1.x86_64 
libpackagekit-qt14-0.6.12-1.4.1.x86_64 
python-qt4-4.8.3-3.2.x86_64 
yast2-qt-graph-2.19.0-4.1.x86_64 
qt-creator-2.1.0-1.3.1.x86_64 
libqt4-qt3support-32bit-4.7.1-7.1.x86_64 
libqt4-x11-4.7.1-7.1.x86_64 
libpoppler-qt4-3-0.14.4-6.1.x86_64 
libdbusmenu-qt2-0.6.6-3.1.x86_64 
yast2-control-center-qt-2.20.2-1.3.1.x86_64 
libqt4-x11-32bit-4.7.1-7.1.x86_64 
qtcurve-gtk2-1.8.1-3.1.x86_64 
kdevelop4-pg-qt-0.9.0-3.1.x86_64 
qt4-qtscript-0.1.0-10.1.x86_64 
libqt4-sql-unixODBC-4.7.1-7.2.x86_64 
libqt4-sql-sqlite-32bit-4.7.1-7.1.x86_64 
libqt4-32bit-4.7.1-7.1.x86_64 
libpolkit-qt-1-1-0.99.1-5.1.x86_64 
qt4-qtscript-doc-0.1.0-10.1.x86_64 
libqt4-sql-unixODBC-32bit-4.7.1-7.2.x86_64 
patterns-openSUSE-devel_qt4-11.4-6.9.1.x86_64 
libqt4-qt3support-4.7.1-7.1.x86_64 
pinentry-qt4-0.8.0-8.1.x86_64 

的問題是:

/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib64/libQtSql.so when searching for -lQtSql 
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../libQtSql.so when searching for -lQtSql 
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib64/libQtGui.so when searching for -lQtGui 
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../libQtGui.so when searching for -lQtGui 
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib64/libQtCore.so when searching for -lQtCore 
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/ld: skipping incompatible /usr/lib64/gcc/x86_64-suse-linux/4.5/../../../libQtCore.so when searching for -lQtCore 

安裝在我的系統QT4封裝列表我在我的系統中缺少構建32位應用程序,或者我做錯了什麼?

回答

0

怎麼樣-L/usr/lib32-L/usr/lib而不是-L/usr/lib64

+0

此-L/usr/lib64已由鏈接器自動鏈接。構建參數-spec linux-g ++ - 32應該修復它,但事實並非如此。 – porterneon 2011-04-08 06:38:29

+0

linker_添加了_it的意思嗎?這是鏈接命令!檢查您的IDE以更改這些鏈接目錄。 – tibur 2011-04-08 11:56:50

+0

我將-L/usr/lib放入了構建選項。仍然是同樣的問題。 – porterneon 2011-04-08 17:29:23