之前就知道這個軟件安裝起來很惡心,因為畢竟是10年前的軟件,可沒想到真的好惡心...花了整整一天才裝上.
我安裝的版本是ns-allinone-2.28,系統版本是ubuntu14.04
其實大部分出現的問題在別人的博客都能解決,但是有一些不能.
下面列出我遇到的,自己解決的問題,之前沒截圖,大概寫下吧
1.int* 到 int丟失精度的問題
這個問題我查了一些資料發現,原來的版本是32位的,而我的ubuntu是64位的,所以會出現丟失精度的問題(64位裡int和32位裡的長度不一樣)
解決方法: 把出現問題的文件打開,對具體某行(問題裡會說明,如果沒給出具體行數就真的爆炸)修改,修改方法是把原來的int類型改成 unsigned long int類型
這一類的問題都可以這麼修改
2.const char* 不能轉換到char*的問題
這個問題很容易解決,找到具體文件具體行,強制類型轉換為char*就可以
3.fix_x86_64-unknown-linux-gnu.sh
第三個問題是開始遇到的,記不太清了,大概就是無法識別64位之類的,總之運行個補丁腳本就可以了,網上可以查到這個腳本
其他還有的問題都是根據報錯的信息可以直接修改的,例如刪除掉一些前綴之類的,有些找不到變量的情況網上都有相關補充定義變量的方法
昨天大概就是遇到這些問題,還有些小問題不細說,總之安裝了無數遍終於安裝完
但是事情沒這麼簡單,今天我想測試一個demo的時候,發現nam不能用!!!當時我的內心是崩潰的.
我在ns的文件夾裡搜了一下,發現根本就沒有nam.exe這個文件.網上查了好久也沒找到這種錯,當時感覺真的神煩,後來運氣好,在全盤裡搜了下,
發現其實是有nam.exe的,但是跑到usr/bin裡面,於是我果斷復制粘貼到ns的bin裡,以為這下子終於搞定了
但我在運行nam時候,又你妹的報錯了
$nam
這時就會出現下面的錯誤提示:
[code omitted because of length]
: no event type or button # or keysym
while executing
"bind Listbox <MouseWheel> {
%W yview scroll [expr {- (%D / 120) * 4}] units
}"
invoked from within
"if {[tk windowingsystem] eq "classic" || [tk windowingsystem] eq "aqua"} {
bind Listbox <MouseWheel> {
%W yview scroll [expr {- (%D)}] units
}
bind Li..."
百度後發現,這個是由於nam調用的tk組件和xproto-7.0.13不兼容導致的(xproto-7.0.13 新添加了 GenericEvent)。解決方法如下:
在tk-8.4.11/generic/tkBind.c的第588行後添加3行代碼
添加後,效果為:
/* MappingNotify / 0,
#ifdef GenericEvent
/* GenericEvent */ 0,
#endif
/* VirtualEvent */ VIRTUAL,
改過後需要重新在ns文件夾目錄下./intsall
網上的解決方案基本都是這個,但是我用了發現仍然不能解決我的問題.倒騰了半天,忽然發現我ns文件夾裡的bin中的nam.exe是可以打開nam的(第一次看到nam,很激動)
但是usr/bin裡的nam.exe打不開,哦!原來usr裡的這玩意是以前沒改過的!
所以把可執行的那個nam.exe拷貝到usr裡就搞定了,其中有個小問題,在usr下默認是沒有權限復制文件過去的,需要這條命令: sudo nautilus
效果就是可以以最高權限打開一個文件夾,然後就是復制粘貼的事了,最終運行simple.tcl,終於出現nam動畫了!
這下ns2算是老老實實的被我裝好了:) 也算是我ns2學習之路的第一步,搞個博客紀念下,沒人看也無所謂,習慣自嗨~