guest | 1
在kdemod下編譯的問題 |
0
0 | 2010-05-19 | quote | | |
我是用arch kdemod
configure後出現:
testing if you have qt4 support
-> No, you don't have. It's ok if you don't want Qt4 immodule.
觀察後發現,是因為kdemod是裝在/opt下的關係
第一個麻,可以用link來騙它
第二個,改source code
第三個 ,不理它
各位認為哪個方案比較好?
|
不理就沒有 QT4 的 im module。沒有其實也可以。只是 skype 是用 QT4,沒用就 ok。
|
那聽起來挺糟的,我有用很多QT的程式。
改source code 要花很多時間找,但我怕說用link會把系統弄得亂七八糟。
|
guest | 但我怕說用link會把系統弄得亂七八糟。
|
應該不會,或是用其他 distribution compile 出來的 .so?
edited: 1
|
in file: configure
line 167:
QT4_IM_DIR=/usr/lib/qt/plugins/inputmethods
in file: qt4-im/Makefile
line 2:
QT=qt
line 17:
moc_gcin-qt.cpp: gcin-qt.h
/opt/$(QT)/bin/moc $< -o moc_gcin-qt.cpp
另外將/opt內的includ做連結
錯誤訊息:
make[1]: Entering directory `/home/kwueron/SourceCode/gcin-1.4.9/qt4-im'
gcc -g -I../im-client -I/usr/include/X11 `pkg-config QtCore QtGui --cflags` -Wall -D_REENTRANT -fPIC -DQT4 -DQT_SHARED -DQT_IMMODULE -DPIC -c -o moc_gcin-qt.o moc_gcin-qt.cpp
moc_gcin-qt.cpp:17:2: error: #error "This file was generated using the moc from 3.3.8. It"
moc_gcin-qt.cpp:18:2: error: #error "cannot be used with the include files from this version of Qt."
moc_gcin-qt.cpp:19:2: error: #error "(The moc has changed too much.)"
In file included from /usr/include/private/qucomextra_p.h:54:0,
from moc_gcin-qt.cpp:15:
/usr/include/private/qucom_p.h:72:17: error: variable ‘Q_EXPORT QUBuffer’ has initializer but incomplete type
/usr/include/private/qucom_p.h:74:5: error: expected primary-expression before ‘virtual’
/usr/include/private/qucom_p.h:74:5: error: expected ‘}’ before ‘virtual’
/usr/include/private/qucom_p.h:74:5: error: expected ‘,’ or ‘;’ before ‘virtual’
/usr/include/private/qucom_p.h:75:53: error: ‘virtual’ outside class declaration
/usr/include/private/qucom_p.h:75:57: error: function ‘long int write(const char*, ulong)’ is initialized like a variable
/usr/include/private/qucom_p.h:76:1: error: expected declaration before ‘}’ token
make[1]: *** [moc_gcin-qt.o] Error 1
make[1]: Leaving directory `/home/kwueron/SourceCode/gcin-1.4.9/qt4-im'
make: *** [all] Error 2
糟透了...header檔我搞不懂。
|
guest | moc_gcin-qt.cpp:17:2: error: #error "This file was generated using the moc from 3.3.8. It" |
|
啊!搞定了
in file: qt4-im/Makefile
line 17:
moc_gcin-qt.cpp: gcin-qt.h
moc $< -o moc_gcin-qt.cpp
原因:
[]$ moc -v
Qt Meta Object Compiler version 62 (Qt 4.6.2)
[]$ /opt/qt/bin/moc -v
Qt Meta Object Compiler version 26 (Qt 3.3.8)
|
however, i cannot use gcin 1.4.9 on gtk base program.
i do not know why.
is there any solution about it?
i can use gcin 1.4.6 on gtk base program (on repo)
|
you have to update
gtk-im/im-gcin.so
im-client/libgcin-im-client.so.1.2.1
|
本來想用用konqueror的,不過就是不能在文字編輯區內使用,subject欄到是可以。
複製貼上的好了...
我不曉得如何更新那兩個share object
我只知道它們確實是編譯出來的,不過安裝卻在奇怪的位置:
/usr/local/lib64/gcin/libgcin-im/client.so.1.2.1
/usr/lib64/gtk-2.0/immodules/im-gcin.so
後來我用link:
/usr/local/lib/gcin/libgcin-im/client.so.1.2.1
/usr/lib/gtk-2.0/immodules/im-gcin.so
還是沒有用
|
抱歉打擾,後來去查套件庫怎麼編的,發現它有個修正x86_64 lib path的patch
修正後就可以用了
|