cht電腦資訊gcin已解決問題
adm Find login register

[help] Debian Qt4 編譯問題

caleb
joined: 2007-09-22
posted: 630
promoted: 134
bookmarked: 90
1subject: [help] Debian Qt4 編譯問題Promote 0 Bookmark 02008-08-06quote  

calno.com 目前的 1.4.3.pre5 用了一個怪方法避開此問題,但作法很不漂亮。

把問題寫在這,希望有高人能提供解法。

 

問題如下:

編譯 Qt4 immodule 時,會出現這些錯誤訊息:

make: *** No rule to make target `/usr/lib/qt4/include/QtCore/QEvent', needed by `im-gcin-qt.o'.  Stop.
make: *** No rule to make target `/usr/lib/qt4/include/QtCore/QObject', needed by `im-gcin-qt.o'.  Stop.
make: *** No rule to make target `/usr/lib/qt4/include/QtCore/QPoint', needed by `im-gcin-qt.o'.  Stop.
make: *** No rule to make target `/usr/lib/qt4/include/QtCore/QSocketNotifier', needed by `im-gcin-qt.o'.  Stop.
make: *** No rule to make target `/usr/lib/qt4/include/QtCore/QString', needed by `im-gcin-qt.o'.  Stop.

Debian 的 Qt4 include 是放在 /usr/include/qt4 ,QTDIR 是 /usr/share/qt4 ,

/usr/lib/qt4 裡面只有 plugins ( .so files 在 /usr/lib )

我試過調 QTDIR / QTINC / QTLIB 等環境變數,都無效。

 

目前已知的解法有兩個:

1. 在 /usr/lib/qt4 建立一個 symlink 指向 /usr/include/qt4 或 /usr/share/qt4/include

這個方法簡單易懂,但顯然不會被 Debian sponsor / buildd 接受

2. 使用 calno.com 目前的怪 patch (如附件)

在 Makefile 裡添加一堆 null target

/usr/lib/qt4/include/QtCore/QEvent:
/usr/lib/qt4/include/QtCore/QObject:
/usr/lib/qt4/include/QtCore/QPoint:
/usr/lib/qt4/include/QtCore/QSocketNotifier:
/usr/lib/qt4/include/QtCore/QString:

編出來的 qt4 immodule 功能與檔案大小都正常,但這個方法怎麼看就怎麼蠢…

 

希望有高手幫忙啊…

edited: 1
eliu

joined: 2007-08-09
posted: 11478
promoted: 617
bookmarked: 187
新竹, 台灣
3subject: Promote 0 Bookmark 02008-08-06quote  

忘了 clean 拿掉 .depend

cht電腦資訊gcin已解決問題
adm Find login register
views:5290