[問題]在debian上無法編譯qt程式

如果您覺得您的問題不屬於 debian desktop 或是 debian server 版的範圍內,請在這裡發問。

版主: mufa

[問題]在debian上無法編譯qt程式

文章209088970 » 週日 6月 29, 2003 1:42 pm

小弟是使用debian unstable以root登入
可是無法成功編譯最基本的hello!qt!
麻煩請知道解決方法的大大回一下文
謝謝
(小弟是照著http://caterpillar.onlyfun.net/phpBB2/viewtopic.php?t=235這一篇使用qmake做的)
代碼: 選擇全部
debian:~/hello# echo $QTDIR
/usr/include/qt3
debian:~/hello# make
g++ -c -pipe -Wall -W -O2  -DQT_NO_DEBUG -I/usr/share/qt3/mkspecs/default -I. -I. -I/usr/include/qt3/include -o hello.o hello.cpp
In file included from /usr/include/qt3/qobjectdefs.h:42,
                 from /usr/include/qt3/qwindowdefs.h:43,
                 from /usr/include/qt3/qwidget.h:42,
                 from /usr/include/qt3/qdesktopwidget.h:40,
                 from /usr/include/qt3/qapplication.h:42,
                 from hello.cpp:1:
/usr/include/qt3/qglobal.h:710:21: qconfig.h: 沒有此一檔案或目錄
/usr/include/qt3/qglobal.h:773:23: qfeatures.h: 沒有此一檔案或目錄
make: *** [hello.o] Error 1
debian:~/hello#

在make前的qmake -project hello.pro和qmake都沒問題
但是到make以後就發生了上述現象
頭像
209088970
活潑的高中生
活潑的高中生
 
文章: 352
註冊時間: 週日 5月 11, 2003 9:04 am

re:[問題]在debian上無法編譯qt程式

文章octapult » 週日 6月 29, 2003 2:58 pm

在 Debian unstable,qtconfig.h 是包在 libqt3-headers 這個 package 裡面;
qtfeatures.h 則是包在 libqt3-mt-dev 這個 package 裡面。

請檢查您是否有安裝這兩個 package。
------BEGIN GEEK CODE BLOCK------
Version: 3.12
G! d- s+:+ a? C++(+++) UBL>++++ P L++ E+ W++ N+ o+ K- w(--)
O? M? V PS+ PE+ Y+ PGP- t 5? X++ R tv b+ DI- D+ G e? h! r-- z?
-------END GEEK CODE BLOCK-------
octapult
摩托學園!學園長們
摩托學園!學園長們
 
文章: 512
註冊時間: 週六 9月 07, 2002 10:30 pm
來自: Seyda Neen, Morrowind

re:[問題]在debian上無法編譯qt程式

文章209088970 » 週日 6月 29, 2003 3:05 pm

小弟都有裝
代碼: 選擇全部
debian:~# apt-get install libqt3-headers libqt3-mt-dev
讀取套件清單中... Done
了解套件依存關係中... Done
『libqt3-headers』已經是最新版本了。
『libqt3-mt-dev』已經是最新版本了。
更新 0 個套件,新安裝 0 個套件,刪除 0 個套件,另不更新 9 個套件。
debian:~#
.
圖檔
圖檔
頭像
209088970
活潑的高中生
活潑的高中生
 
文章: 352
註冊時間: 週日 5月 11, 2003 9:04 am

Re: [問題]在debian上無法編譯qt程式

文章octapult » 週日 6月 29, 2003 3:30 pm

代碼: 選擇全部
g++ -c -pipe -Wall -W -O2  -DQT_NO_DEBUG -I/usr/share/qt3/mkspecs/default -I. -I. -I/usr/include/qt3/include -o hello.o hello.cpp

喔,問題出在 include 這邊。從上面可以看到 include 目錄變成 /usr/include/qt3/include,但是在 Debian 上面應該是 /usr/include/qt3 才對。

由於 Debian 將 include 的東西放在 /usr/include、library 則是放在 /usr/lib,所以如果我們直接 export $QTDIR 的話,路徑反而都不對。我個人建議您在 qmake -project hello.pro 和 qmake 完成以後,直接修改 Makefile 比較快,在 INCPATH 這一行加上 -I/usr/include/qt3,還有 LIBS 這一行的 -lqt 改成 -lqt-mt (或是自己建立一 symbolic link: ln -s /usr/lib/libqt-mt /usr/lib/libqt 也是可以)。

p.s. 可能還有其他更優雅的方法,不過目前我還沒有想出來 :mrgreen:
------BEGIN GEEK CODE BLOCK------
Version: 3.12
G! d- s+:+ a? C++(+++) UBL>++++ P L++ E+ W++ N+ o+ K- w(--)
O? M? V PS+ PE+ Y+ PGP- t 5? X++ R tv b+ DI- D+ G e? h! r-- z?
-------END GEEK CODE BLOCK-------
octapult
摩托學園!學園長們
摩托學園!學園長們
 
文章: 512
註冊時間: 週六 9月 07, 2002 10:30 pm
來自: Seyda Neen, Morrowind

re:[問題]在debian上無法編譯qt程式

文章209088970 » 週日 6月 29, 2003 5:35 pm

到make[5]的時候
小弟緊急按了^c
(是unstable的qmake有問題嗎?無奈中)
代碼: 選擇全部
debian:~/hello# make
g++ -c -pipe -Wall -W -O2  -DQT_NO_DEBUG -I/usr/share/qt3/mkspecs/default -I. -I. -I/usr/include/qt3 -o hello.o hello.cpp
( cd /usr/include/qt3/src/moc ; make )
/bin/sh: line 1: cd: /usr/include/qt3/src/moc: 沒有此一檔案或目錄
make[1]: Entering directory `/root/hello'
( cd /usr/include/qt3/src/moc ; make )
/bin/sh: line 1: cd: /usr/include/qt3/src/moc: 沒有此一檔案或目錄
make[2]: Entering directory `/root/hello'
( cd /usr/include/qt3/src/moc ; make )
/bin/sh: line 1: cd: /usr/include/qt3/src/moc: 沒有此一檔案或目錄
make[3]: Entering directory `/root/hello'
( cd /usr/include/qt3/src/moc ; make )
/bin/sh: line 1: cd: /usr/include/qt3/src/moc: 沒有此一檔案或目錄
make[4]: Entering directory `/root/hello'
( cd /usr/include/qt3/src/moc ; make )
/bin/sh: line 1: cd: /usr/include/qt3/src/moc: 沒有此一檔案或目錄
make[5]: Entering directory `/root/hello'
( cd /usr/include/qt3/src/moc ; make )
make[5]: *** [/usr/include/qt3/bin/moc] 中斷
make[4]: *** [/usr/include/qt3/bin/moc] 中斷
make[3]: *** [/usr/include/qt3/bin/moc] 中斷
make[2]: *** [/usr/include/qt3/bin/moc] 中斷
make[1]: *** [/usr/include/qt3/bin/moc] 中斷
make: *** [/usr/include/qt3/bin/moc] 中斷

debian:~/hello#
.
圖檔
圖檔
頭像
209088970
活潑的高中生
活潑的高中生
 
文章: 352
註冊時間: 週日 5月 11, 2003 9:04 am

re:[問題]在debian上無法編譯qt程式

文章octapult » 週日 6月 29, 2003 6:07 pm

可能是您 export QTDIR=/usr/include/qt3 的關係,訊息顯示編譯過程跑到 /usr/include/qt3/src/moc 去找 moc,但是實際上 moc 是在 /usr/bin。只要您不要 export QTDIR=/usr/include/qt3 就可以了。
------BEGIN GEEK CODE BLOCK------
Version: 3.12
G! d- s+:+ a? C++(+++) UBL>++++ P L++ E+ W++ N+ o+ K- w(--)
O? M? V PS+ PE+ Y+ PGP- t 5? X++ R tv b+ DI- D+ G e? h! r-- z?
-------END GEEK CODE BLOCK-------
octapult
摩托學園!學園長們
摩托學園!學園長們
 
文章: 512
註冊時間: 週六 9月 07, 2002 10:30 pm
來自: Seyda Neen, Morrowind

re:[問題]在debian上無法編譯qt程式

文章209088970 » 週日 6月 29, 2003 7:03 pm

感謝octapult大大不厭其煩為小弟解答
但是,小弟又緊急按了^c
(可是小弟看了許多書和網站上的介紹都要export $QTDIR)
代碼: 選擇全部
debian:~/hello# make
g++ -c -pipe -Wall -W -O2  -DQT_NO_DEBUG -I/usr/share/qt3/mkspecs/default -I. -I. -I/usr/include/qt3 -o hello.o hello.cpp
( cd /src/moc ; make )
/bin/sh: line 1: cd: /src/moc: 沒有此一檔案或目錄
make[1]: Entering directory `/root/hello'
( cd /src/moc ; make )
/bin/sh: line 1: cd: /src/moc: 沒有此一檔案或目錄
make[2]: Entering directory `/root/hello'
( cd /src/moc ; make )
/bin/sh: line 1: cd: /src/moc: 沒有此一檔案或目錄
make[3]: Entering directory `/root/hello'
( cd /src/moc ; make )
/bin/sh: line 1: cd: /src/moc: 沒有此一檔案或目錄
make[4]: Entering directory `/root/hello'
( cd /src/moc ; make )
/bin/sh: line 1: cd: /src/moc: 沒有此一檔案或目錄
make[5]: Entering directory `/root/hello'
( cd /src/moc ; make )
/bin/sh: line 1: cd: /src/moc: 沒有此一檔案或目錄
make[6]: Entering directory `/root/hello'
( cd /src/moc ; make )
/bin/sh: line 1: cd: /src/moc: 沒有此一檔案或目錄
make[7]: Entering directory `/root/hello'
( cd /src/moc ; make )
/bin/sh: line 1: cd: /src/moc: 沒有此一檔案或目錄
make[8]: Entering directory `/root/hello'
( cd /src/moc ; make )
/bin/sh: line 1: cd: /src/moc: 沒有此一檔案或目錄
make[8]: *** [/bin/moc] 中斷
make[7]: *** [/bin/moc] 中斷
make[6]: *** [/bin/moc] 中斷
make[5]: *** [/bin/moc] 中斷
make[4]: *** [/bin/moc] 中斷
make[3]: *** [/bin/moc] 中斷
make[2]: *** [/bin/moc] 中斷
make[1]: *** [/bin/moc] 中斷
make: *** [/bin/moc] 中斷

debian:~/hello#
頭像
209088970
活潑的高中生
活潑的高中生
 
文章: 352
註冊時間: 週日 5月 11, 2003 9:04 am

re:[問題]在debian上無法編譯qt程式

文章209088970 » 週日 6月 29, 2003 7:20 pm

問題已解決
小弟事後會post到share版

再次感謝octupalt大大 :crying: :crying: :crying:
.
圖檔
圖檔
頭像
209088970
活潑的高中生
活潑的高中生
 
文章: 352
註冊時間: 週日 5月 11, 2003 9:04 am


回到 debian misc

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron