cht電腦資訊gcin
adm Find login register

qt4與gcin-1.6到gcin-2.7會發生編譯不成功的解決方法

guest
1subject: qt4與gcin-1.6到gcin-2.7會發生編譯不成功的解決方法Promote 0 Bookmark 02012-02-28quote  
這是小弟我在slackware-13.37中試的 在編譯中出現如下錯誤時 gmake[1]: Entering directory `/tmp/gcin-2.6.7/qt4-im' gcin-qt.h -o moc_gcin-qt.cpp gmake[1]: gcin-qt.h: Command not found gmake[1]: *** [moc_gcin-qt.cpp] Error 127 gmake[1]: Leaving directory `/tmp/gcin-2.6.7/qt4-im' make: *** [all] Error 2 請修改檔案 gcin-2.7.6/qt4-im/Makefile 將以下的部份 moc_gcin-qt.cpp: gcin-qt.h $(QT4_MOC) $< -o moc_gcin-qt.cpp 改成 moc_gcin-qt.cpp: gcin-qt.h /usr/bin/moc $< -o moc_gcin-qt.cpp
hyslion
joined: 2011-10-06
posted: 36
promoted: 2
bookmarked:
2subject: qt4與gcin-1.6到gcin-2.7會發生編譯不成功的解決方法Promote 0 Bookmark 02012-02-29quote  

guest
這是小弟我在slackware-13.37中試的 在編譯中出現如下錯誤時 gmake[1]: Entering directory `/tmp/gcin-2.6.7/qt4-im' gcin-qt.h -o moc_gcin-qt.cpp gmake[1]: gcin-qt.h: Command not found gmake[1]: *** [moc_gcin-qt.cpp] Error 127 gmake[1]: Leaving directory `/tmp/gcin-2.6.7/qt4-im' make: *** [all] Error 2 請修改檔案 gcin-2.7.6/qt4-im/Makefile 將以下的部份 moc_gcin-qt.cpp: gcin-qt.h $(QT4_MOC) $< -o moc_gcin-qt.cpp 改成 moc_gcin-qt.cpp: gcin-qt.h /usr/bin/moc $< -o moc_gcin-qt.cpp

我相信這應該是每個平台的放置位置都有點不太一樣,如果想要在自己的平台使用的話儘量多了解一下檔案放置的位置會好一些

不然找看看有沒有該平台packer打包的檔案可以用了,不太可能因為某些平台放置位置不一樣就改源頭的

題外話,沒分行不會很難閱讀嗎?

swyear
joined: 2007-10-04
posted: 127
promoted: 4
bookmarked: 0
3subject: Promote 0 Bookmark 02012-02-29quote  

在 configure 中可以設定可能的 qt3/4 moc 的路徑

if [ $QT_IM = 'N' ]; then
  mv gcin.spec gcin.spec.tmp
  grep -v qt3/plugins/inputmethods gcin.spec.tmp > gcin.spec
else
  for i in /usr/share/qt/bin/moc /usr/lib/qt/bin/moc /usr/lib64/qt/bin/moc /usr/lib/qt3/bin/moc /usr/share/qt3/bin/moc
  do
    [ ! -x $i ] && continue
    QT_MOC=$i
    echo "QT_MOC=$QT_MOC"
    break;
  done
fi


echo $QT4_IM

if [ $QT4_IM = 'N' ]; then
  mv gcin.spec gcin.spec.tmp
  grep -v qt4/plugins/inputmethods gcin.spec.tmp > gcin.spec
else
  for i in /usr/share/qt4/bin/moc /usr/lib/qt4/bin/moc /usr/lib64/qt4/bin/moc
  do
    [ -x $i ] && QT4_MOC=$i && echo "QT4_MOC=$QT4_MOC"
  done
fi

在 openSUSE 中 qt4 moc 的路徑沒錯

倒是 qt3 部份,openSUSE 是放在 /usr/lib/qt3/bin/moc, /usr/lib64/qt3/bin/moc

如果老大要改這邊的話順便加進去

謝謝

edited: 1
guest
4subject: Promote 0 Bookmark 02012-02-29quote  

是有換行啦

只是不知道怎麼變成一串

如果不方便的話那就用用小弟自己的建的patch檔

自己建個檔名為gcin-2.6.7-slackware-13.37.patch

檔案內容如下

18c18
< 	$(QT4_MOC) $< -o moc_gcin-qt.cpp
---
> 	/usr/bin/moc $< -o moc_gcin-qt.cpp

命令的部分
patch gcin-2.6.7/qt4-im/Makefile gcin-2.6.7.patch

附註:這個patch目前可以適用-2.6.0 -> 2.6.7,之後的部分小弟就沒試,有興趣的人自行試試看吧

cht電腦資訊gcin
adm Find login register
views:7977