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

在kdemod下編譯的問題

guest
1 在kdemod下編譯的問題
Promote 0 Bookmark 02010-05-19quote  

我是用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
第三個 ,不理它

各位認為哪個方案比較好?

eliu
2
Promote 0 Bookmark 02010-05-19quote  
guest
3
Promote 0 Bookmark 02010-05-19quote  

那聽起來挺糟的,我有用很多QT的程式。

改source code 要花很多時間找,但我怕說用link會把系統弄得亂七八糟。

eliu
4
Promote 0 Bookmark 02010-05-19quote  
guest
但我怕說用link會把系統弄得亂七八糟。
應該不會,或是用其他 distribution compile 出來的 .so?
edited: 1
guest
5
Promote 0 Bookmark 02010-05-19quote  

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檔我搞不懂。

eliu
6
Promote 0 Bookmark 02010-05-19quote  
guest
7
Promote 0 Bookmark 02010-05-19quote  

啊!搞定了

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)

guest
8
Promote 0 Bookmark 02010-05-19quote  

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
9
Promote 0 Bookmark 02010-05-19quote  
guest
10
Promote 0 Bookmark 02010-05-19quote  
本來想用用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
11
Promote 0 Bookmark 02010-05-20quote  
抱歉打擾,後來去查套件庫怎麼編的,發現它有個修正x86_64 lib path的patch
修正後就可以用了

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