| guest | | 1 | subject:
在kdemod下編譯的問題 |  0  0 | 2010-05-19 | quote |  |  | 
 
我是用arch kdemodconfigure後出現:
 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
 第三個 ,不理它
 
各位認為哪個方案比較好? 
 | 
| eliu 
  joined:
2007-08-09
 posted:
11514
 promoted: 617
 bookmarked: 187
 新竹, 台灣
 | 不理就沒有 QT4 的 im module。沒有其實也可以。只是 skype 是用 QT4,沒用就 ok。 
 | 
| guest | 
那聽起來挺糟的,我有用很多QT的程式。
 
改source code 要花很多時間找,但我怕說用link會把系統弄得亂七八糟。 
 | 
| eliu 
  joined:
2007-08-09
 posted:
11514
 promoted: 617
 bookmarked: 187
 新竹, 台灣
 | | guest |  | 但我怕說用link會把系統弄得亂七八糟。 | 
應該不會,或是用其他 distribution compile 出來的 .so?
edited: 1
 | 
| guest | 
in file: configureline 167:
 QT4_IM_DIR=/usr/lib/qt/plugins/inputmethods
 
in file: qt4-im/Makefileline 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檔我搞不懂。
 | 
| eliu 
  joined:
2007-08-09
 posted:
11514
 promoted: 617
 bookmarked: 187
 新竹, 台灣
 | | guest |  | moc_gcin-qt.cpp:17:2: error: #error "This file was generated using the moc from 3.3.8. It" | 
 | 
| guest | 
啊!搞定了
 
in file: qt4-im/Makefileline 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)
 | 
| guest | 
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) 
 | 
| eliu 
  joined:
2007-08-09
 posted:
11514
 promoted: 617
 bookmarked: 187
 新竹, 台灣
 | 
you have to update 
 
gtk-im/im-gcin.soim-client/libgcin-im-client.so.1.2.1
 | 
| guest | 本來想用用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
 還是沒有用
 | 
| guest | 抱歉打擾,後來去查套件庫怎麼編的,發現它有個修正x86_64 lib path的patch修正後就可以用了
 
 |