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 功能與檔案大小都正常,但這個方法怎麼看就怎麼蠢…
希望有高手幫忙啊…