1. 程式人生 > >在mac os x下配置NS2開發環境

在mac os x下配置NS2開發環境

1.前言

最近在做畢業設計,需要用NS2模擬器,由於手頭只有一臺macbook pro,因此決定在這個平臺下配置這個工具,絕大多數內容都是從前人的帖子和部落格裡面找到的解決方法,作為一個搬運工,筆者在此將各種資訊集合在一起,這樣可以方便新人學習,可以少走一點彎路,畢竟自己也是折騰了好多遍的,用這種方式記下來對自己日後複習也是一種幫助。

2.開發環境

(1)Mac OS X 10.11 64位 (2)在終端輸入 $ gcc -v檢視編譯器版本為 Apple LLVM version 7.0.0 (clang-700.1.76) Target: x86_64-apple-darwin15.0.0 Thread model: posix
注:安裝的過程中可能會出現錯誤,經過多次排查,其實跟編譯器本身無關,不需要為此去安裝真正的gcc,目前發現的錯誤沒有一個是這個原因造成的。 3.步驟 (1)首先安裝xQuartz,這個東西是一個支援的環境,本身的配置跟NS2無關,可以用homebrew來安裝,具體如何操作可以自行查詢資料,由於時間有點久了,筆者不記得具體過程了,因此就不寫這個了。 (2)安裝homebrew 以後很多工具都需要用上這個,雖然這個本身也和ns2沒有關係,具體安裝方式可以參考下面這篇部落格,親測通過: (3)安裝NS2,參考下面一篇部落格安裝NS2. a. 安裝完之後,在終端輸入 $ ns之會進入一個輸入的模式,這樣就說明了NS2安裝成功,在此之前,ns2安裝完畢後,終端介面會提示用./validate命令來檢測安裝是否成功,很多情況下validate都不會成功,因為整個NS2安裝檔案有很多元件,比如說Xgraph畫圖工具就沒有成功安裝,因此validate有相當大機率會失敗,但是這個並不影響使用,只要ns2本身能正常工作就夠了,不需要去執行validate命令,非常浪費時間。如果在終端輸入ns,提示該命令不存在,那麼就是路徑沒有設定正確,只需要在~/.bash_profile檔案里加上 export PATH=$PATH:/Users/xunhuang/ns2related/ns-allinone-2.35/bin就行了,如果沒有該檔案,就建立一個。 b. 測試tcl指令碼是否可以正常使用,下面用一個例子來演示。 首先進入 /Users/xxxxx/ns2related/ns-allinone-2.35/ns-2.35/tcl/ex
檔案目錄,檢視目錄中的檔案, 然後找一個字尾名為tcl的檔案,比如說 $ ns nam-example.tcl 來執行,執行結果如下圖所示:
nam是一個動畫模擬器,可以根據tcl檔案執行的內容,用某種命令將節點的行為動態顯示出來,具體細節此處先忽略,能出現這種介面,就說明nam也能成功執行,說明ns2安裝成功。 (4)使NS2可以除錯C++程式碼 到上一步為止,ns2已經可以通過把tcl檔案當引數執行ns命令,來實現一些模擬,但是這不是本文的目的,ns2本身模擬在後臺是用c++實現的,自身也提供了不少網路協議,比如說tcp和udp等等,當我們需要增加自己的網路模組的時候,之前的方式就完全沒有辦法了,很多新手,包括自己在內,就不知道應該從何下手了。剩下的步驟,預設讀者對ns2的整個結構有一定了解,大概知道是個怎麼回事,因為本文的篇幅也不可能介紹那麼全面,筆者水平也有限。如果對ns2整個結構還沒有入門的話,可以參考以下幾篇文件,或者自行查閱資料。 b. Introduction to Network Simulator NS2 為了讓大家不走彎路,本來在自己折騰中最後折騰的一步,可以放在現在來弄,聯想到這一步涉及到了c++檔案,首先想到的就是需要有除錯功能,要想使ns2可以使用偵錯程式,就得在編譯的時候加上-g的選項,但是我們並不是用gcc直接對單個檔案進行編譯的,因此在這裡,也有相應的辦法,在 NS2 的 makefile.in 的編譯 flag 中加入 -g 選項,確認編譯出的可執行檔案帶有除錯用的資訊: $ mvim Makefile.in:

把CCOPT這一行改一下,至少要加上-g,儲存。接下來的步驟很重要,因為Mac OS下的環境跟linux有一些區別,因此如果用 ./configure,然後再用make來重新編譯的話,基本會失敗,而且把原有的ns2的指令也弄失效了,所以只能重新用./install指令安裝一遍,就可以了。然後測試偵錯程式是否可以使用: $ lldb ns nam-example.tcl
(lldb) target create "ns"
SCANs: realpath [/Users/xxxxxx/ns2related/ns-allinone-2.35/otcl-1.14/otcl-1.14] failed with errno 62 (Too many levels of symbolic links)
Current executable set to 'ns' (x86_64).
(lldb) settings set -- target.run-args  "nam-example.tcl"
(lldb) 確實進入了偵錯程式的輸入介面,說明安裝成功。具體偵錯程式怎麼用就不介紹了,因為筆者也是新手,還不會用命令列操作lldb偵錯程式。 注意:如果不小心使用了./configure命令導致整個軟體失敗的話,為了保險起見,首先要把之前打的補丁給解除安裝掉,然後重新打補丁(不一定是必須的,只是一種嘗試方法),使用指令patch -p1 -R <patch_name即可解除安裝補丁,再根據3(2)中的教程重新打補丁,然後再重新安裝。 (5)增加新的c++檔案
  1. 首先下載 "ex-linkage.cc" 檔案, 放在 "ns-2” 目錄下,我自己的目錄名稱是/Users/xxxxxx/ns2related/ns-allinone-2.35/ns-2.35/myCpp/
  2. 開啟 "Makefile", 把 "ex-linkage.o” 增加到OBJ_CC後面,如下圖337行所示:
  3. 然後在終端輸入 "make" 重新編譯.
  4. 執行 "ns ex-linkage.tcl”結果如下圖所示(如果沒有把cc檔案重新編譯進去,是沒辦法正常執行tcl檔案的).
  5. 進入除錯模式,輸入”lldb ns ex-linkage.tcl”.
4.總結 本文總結了自己安裝ns2的過程以及遇到的問題和解決方式,在安裝的過程中,參考了許多前人的研究結果,為了方便學習和交流,筆者寫此文對此進行總結。 5.參考 [1].用 Xcode 除錯 NS2 [2]. 在Mac os 10.9(Mavericks)中安裝NS-2.35附自己製作的patch[修正一個錯誤] [4]NS by Example

相關推薦

mac os x配置NS2開發環境

1.前言 最近在做畢業設計,需要用NS2模擬器,由於手頭只有一臺macbook pro,因此決定在這個平臺下配置這個工具,絕大多數內容都是從前人的帖子和部落格裡面找到的解決方法,作為一個搬運工,筆者在此將各種資訊集合在一起,這樣可以方便新人學習,可以少走一點彎路,畢竟自己

Mac OS X搭建Android開發環境

準備工具 Java 1.6 For Mac OS X — 在Mac上執行Eclipse會提醒需要Java 6執行時支援庫 Java 1.8 For Mac OS X — 本人開發時所用的jdk版本 Eclipse — 本人開發時所用版本為Eclipse Lun

Mac os x 配置Intellij IDEA + Tomcat

apply tor project 出現 打開終端 miss 1-1 doc 問題 IDEA 建工程 1. 首先是 new project--->create project from scratch---> 取個名字 --->next--->

mac os x配置Android Studio本地gradle

新建Android studio的專案,開啟專案的gradle.wrapper包裡面的gradle-wrapper.properties檔案,會看到如下內容 distributionBase=GRADLE_USER_HOME distributionPath

Mac os x 配置Intellij IDEA + Tomcat 出現許可權問題的解決辦法

出現的錯誤提示如下: 下午9:11:27 All files are up-to-date 下午9:11:27 All files are up-to-date 下午9:11:27 Error running Tomcat 8.0.18: Cannot run prog

React Native學習筆記(一)Mac OS XReact Native的環境搭建

本文介紹Mac OS X系統下的React Native環境搭建過程。 1.環境要求: 1) Mac OS X作業系統 2) Xcode6.4或以上版本 3) Node.js4.0或以上版本 4) watchman和flow 2.安裝過程 1) N

如何在Mac OS系統搭建Java開發環境圖解

似乎有很久都沒有寫部落格了,有工作的一些原因,也有個人的一些原因,今天剛好下雨,也沒有地方可去,於是就窩在家裡倒騰了下,本篇文章主要是簡單介紹一下如何在Mac OS系統下搭建java的開發環境,做java開發工作,當然首先是得有一個java環境,所以接下來主要是

Golang (Go語言) Mac OS X環境搭建 環境變量配置 開發工具配置 Sublime Text 2 【轉】

trick blog mac os https 系統 document cnblogs strong os x 一、安裝Golang的SDK   在官網 http://golang.org/ 直接下載安裝包安裝即可。下載pkg格式的最新安裝包,直接雙擊運行,一路按照提示操作

Mac OS X安裝配置Android原始碼開發環境

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Mac OS X sublime text3中編譯執行Java程式的環境配置

在Mac下使用Sublime時,如果要編譯java檔案,直接使用command+B命令就可以達到編譯的效果,此時會在java原始檔的目錄下生成對應的.class檔案,但並不能執行Java程式碼。如何才能直接編譯並執行java程式碼呢? 1.我用的版本是os x

Mac配置php開發環境:Apache+php+MySql

light 實用 下載 兩種方法 mysq class rest pan pac 慕課網的小夥伴們,本次我將為大家帶來的是如何在在Mac下配置php開發環境,閑言少敘,開始我們的工作吧! 一、啟動Apache 有兩種方法 1、打開網絡共享 打開"系統偏好設置"->"

Mac OS X搭建NDK環境

Mac OS X下NDK環境的搭建 抄一篇冷飯,主要是本渣渣還是研究了半天的。。。想當好程式猿,千萬別沒事隨便刪個資料夾,移動個資料夾啥的。。。 好了,正文如下。 1)下載NDK(Mac OS X版本) 下載地址:link 下載完成後,將壓縮包解壓,並記錄解壓後的

Mac OS系統配置ChromeDriver環境變數的配置

如何將已下載好的ChromeDriver檔案拖拽到usr/bin資料夾下,這個問題困擾了我許久,由於更高版本的Mac OS系統預設將會鎖定 /system /sbin /usr 這三個目錄. 但是這個保護也是可以關閉的。 方法如下: 1.重啟電腦開後按住 Com

Mac OS X搭建Android Source編譯環境的問題及解決方法

[轉發請註明出處,謝謝] 本文的編譯環境指的是Android Kernel,Framework的編譯,不是Application的開發環境。 有詳細說明的只給出連結和要點提示。 大的步驟就是Android的source網站的原文 “Initializing a Buil

Qt在Mac OS X的程式設計環境搭建

在Mac OS X下使用Qt開發,需要配置Qt庫和編譯器。編譯器只能使用蘋果公司自主研發的Clang。 1、分別下載並安裝XCode和Command Line Tools(必須安裝),安裝完畢後,Clang就有了。 2、下載Qt並預設安裝 http://dow

Mac OS X 開發 Android 程式時使用 USB 連真機除錯

本人很早一篇 Mac OS X 下開發 Android 程式時使用 WiFi ADB 連真機除錯,手機端需要連線  WiFi, Root 許可權開啟 ADB 埠,電腦上執行 adb connect 命令來讓 Mac 連線 Android 真機進行除錯,其實用不著那麼麻煩

一文搞定 Mac OS X使用iTerm2+zsh+oh-my-zsh配置Powerline風格的命令列

本不想寫這篇文章的,因為在Linux下已經配置過很多次,想著mac應該找篇文章一次就搞定了,結果還是踩坑,看了很多文章,不是某一點沒不清楚,就是截圖有問題或者命令有問題,官網又難得找等等…花了3個多小時才搞定,所以,還是來總結一篇文章就能夠搞定的教程。 為什麼要

Mac OS X安裝和配置Maven

apache org 變量 .gz clas maven mac os strong nts 1、下載Maven 打開Maven官網下載頁面:http://maven.apache.org/download.cgi下載:apache-maven-3.5.0-bin.t

XAMPP: 在 MAC OS X 安裝 Apache + PHP + MySQL 環境

XAMPP for Mac OS X 類似在 Windows 環境下的 AppServ。XAMPP 是由 Apache Friends 所主導的非營利的軟體開發專案,其目的是為了推廣 Apache Web Server,因此開發了這個跨平臺的快速架站包,XAMPP

通過ADB操作/檢視SQLite資料庫以及Mac OS Xadb shell配置與啟動

在Android系統中的資料持久化方案常用的有如下三種: 檔案儲存 – 檔案儲存路徑為:data/data/包名/files SharedPreferences儲存 – SharedPrefere