甚是蛋疼
參考:1
首先從這里下載源碼(這東西可是有20+MB,慢慢下載喔)
下面詳細說一下操作方法:
1 解壓insight-6-8-1
sudo tar jvxf insight-6-8-1.tar.bz2
2 修改源代碼,然后進入insight-6-8-1/gdb
cd insight-6-8-1/gdb
sudo gedit i386-linux-nat.c
在頭文件部分加上:
#include "i387-tdep.h"
保存,退出
3.從新回到 insight 目錄,生成Makefile
cd ..
sudo ./configure()
4 開始編譯
sudo make
5.遇到錯誤,編譯一段時間過后就會發(fā)現(xiàn)本貼一開始提到的錯誤,一些warning被當成錯誤了
cd gdb #(進入insight下的gdb目錄)
sudo gedit Makefile
找到WERROR_CFLAGS = -Werror,將其改為(也可在前面的./configure --disable-werror)
WERROR_CFLAGS=#-Werror(這里也可以將‘=’后面的內(nèi)容刪除掉變成 WERROR_CFLGAS= )
保存退出
仍然回到insight目錄
cd ..
6.接著make
sudo make
7.這時再過段時間看看,是不是編譯通過 呢
編譯通過后安裝 sudo make install
最后補充幾點:
1. 沒有必等到make出error的時候再去添加頭文件,開始的時候加上就好,一氣呵成的編譯。
另:頭文件之間有前后的依賴關系,要把i387-tdep.h 放到include 較為靠后的位置,沒有查到底是依賴于哪個頭文件,我把它放在了
代碼:
#ifdef HAVE__DEBUGERG_H
#include
#endif
之后,可以編譯通過。
2. 編譯之前應當check下機器是否安裝了termcap庫文件,若無的話安裝libncurses5-dev
代碼:
sudo apt-get install libncurses5-dev
參考:2
This probably means that tk wasn't installed properly.
解決辦法:
編譯insight-6.8前必須修改insight-6.8的源代碼。
1)修改insight-6.8/tk/generic/tk.h
將(line 653)
#define VirtualEvent (LASTEvent)
#define ActivateNotify (LASTEvent + 1)
#define DeactivateNotify (LASTEvent + 2)
#define MouseWheelEvent (LASTEvent + 3)
#define TK_LASTEVENT (LASTEvent + 4)
改為:
#define VirtualEvent (MappingNotify)
#define ActivateNotify (MappingNotify + 1)
#define DeactivateNotify (MappingNotify + 2)
#define MouseWheelEvent (MappingNotify + 3)
#define TK_LASTEVENT (MappingNotify + 4)
并將隨后的#define TK_LASTEVENT (LASTEvent + 4)刪除(line 661附近)
2)修改insight-6.8/tk/generic/tkBind.c
在line 586和line 587之間增加
#ifdef GenericEvent
/* GenericEvent */ 0,
#endif
?
?
?
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
