使用eclipse編譯ns-3

使用eclipse編譯ns-3

1. 概述

習慣可視化編程界面的讀者可能不適應命令行下編譯調試程序,實際上ns-3程序使用任何一個你熟悉的C++代碼編譯器都可以,ns-3中源文件(.cc)就是C++程序。這裏給大家介紹一個比較優秀的IDE集成開發環境eclipse(就是比較佔內存),它支持如JAVA、C/C++、Python、PHP等多種語言,而且跨平臺。詳細情況請參考:https://www.nsnam.org/wiki/HOWTO_configure_Eclipse_with_ns-3

2. 安裝eclipse和C/C++語言插件CDT

系統環境爲Ubuntu 14.04.4 LTS (GNU/Linux 3.13.0-24-generic i686)
sudo apt-get install eclipse
sudo apt-get install eclipse-cdt //如果是root用戶,sudo可省掉。
圖 1 apt-get安裝eclipse
輸入y確認後,報錯“E: Sub-Process /usr/bin/dpkg returned an error code(2)”,百度一下這個錯誤2,比較官方的解釋如下:
圖2 error code(2)
按照說明操作,結果是it doesn’t work,no ways,於是根據提示思考了一番,斷言是自己雖然是root用戶,可能是遠程桌面的原因,root用戶“至高無上”的權限沒有發揮出來,於是將root用戶當作普通用戶一樣操作,加sudo解決。
圖3 解決error code(2)
成功安裝後,進入首頁面會出現C/C++ Development的工程項,Eclipse版本是3.8.1。
圖4 Ubuntu14.04+Eclipse3.8.1
然而,當系統環境爲Ubuntu 10.04 LTS - the Lucid Lynx - released in April 2010時,該系統支持到2013年,目前有些軟件源不能使用,使用命令行安裝eclipse-cdt失敗。本人比較偏愛該發佈版,一直沒有放棄使用。
圖5 Ubuntu10.04+Eclipse3.5.2
解決方法是:用Eclipse的自帶的安裝功能成功安了CDT組件,主要是找對使用軟件源安裝老版本Eclipse所對應的CDT地址(Ubuntu 10.04),本人使用的CDT下載地址如圖6所示。如果還有不明白的可以百度一下,或者參考http://www.crifan.com/install_eclipse_cdt_plugin/
圖6 Eclipse安裝CDT

3. 在eclipse中配置對ns-3的支持


1) 新建ns-3空工程。File -> New -> Project,選擇C++Project,Project name可以用ns-3.24.1,選擇Empty Project,幾步Next之後,直接點Finish如圖7所示。

圖7 新建C++空工程
2) 將ns-3.24.1文件導入eclipse的ns-3.24.1空工程中。將下載的ns-3.24.1壓縮包解壓,解壓後的文件全部複製到剛纔建立的工作目錄下。

圖8 複製壓縮包文件到工程目錄
使用./waf -d debug --enable-example --enable-tests configure命令配置一下ns-3項目,然後在ProjectExplorer中的工程上單擊右鍵,選擇Fresh,就可以看到導入的所有源文件,如圖9所示。
圖9 導入文件後F5

4. 設置eclipse中ns-3編譯器爲waf

在Project Explore中ns-3.24.1上單擊右鍵,選擇Properties,做如下操作:在C/C++ build中的Build Settings選項卡如圖2-3所示中,去掉Use default build command複選框中的鉤,並在buildcommand中輸入${workspace_loc:/ns-3.24.1/waf};去掉Generate Makefilesautomatically複選框中鉤,在build directory中輸入${workspace_loc:/ns-3.24.1/build}。
圖10 Build Settings選項卡
然後,如圖11所示在C/C++ build中的behaviour選項卡中,Workbench Build Behaviour中的複選框都選上,前2個的值置爲空,最後一個是clean。
圖11 behaviour選項卡
最後單擊OK保存。這時就可以點擊Build Project進行編譯,如圖12所示。

圖12 Build


5. 設置eclipse執行程序使用外部工具

選擇Run -> External Tools -> External tools Configurations,在Program中右鍵選擇New,name可以設置爲ns3-waf,如圖2-6所示,在location中設置${workspace_loc:/ns-3.24.1/waf},在workingdirectory中設置${workspace_loc:/ns-3.24.1},argument設置爲--run “${string_prompt}”。
圖13 Run
最後,單擊Run,這時輸入scratch目錄下要執行的程序(不用加後綴名.cc),scratch是ns-3默認執行文件的位置,單擊新增的按鈕就可以完成仿真。仿真結果會在console中顯示,也可以調用PyViz可視化工具顯示運行結果,不需要使用trace文件。有關PyViz的纖細內容請參看網址:http://www.nsnam.org/wiki/index.php/PyViz。至此,我們已經成功配置了在eclipse中編譯ns-3的所有環境。有關ns-3的安裝請參考本人上一篇文章http://bbs.ruijie.com.cn/forum.php?mod=viewthread&tid=2762

6.結語

以上關於在eclipse中編譯ns-3相關技術的簡單解析,還有很多具體細節的問題沒有涉及到。還請各位工程師從網絡上獲取相關文檔並研究。經常訪問銳捷社區無線版本的網頁,http://bbs.ruijie.com.cn/?fromuser=unrecoverable找到最新的信息和資料。也非常歡迎您加我好友一起切磋技術,同時也歡迎各位在論壇上提問。

參考文獻

https://www.nsnam.org/wiki/HOWTO_configure_Eclipse_with_ns-3
馬春光, 姚建盛. ns-3網絡模擬器基礎及應用[M]. 北京:人民郵電出版社, 2014
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章