使用eclipse編譯ns-3
1. 概述
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,比較官方的解釋如下:
按照說明操作,結果是it doesn’t work,no ways,於是根據提示思考了一番,斷言是自己雖然是root用戶,可能是遠程桌面的原因,root用戶“至高無上”的權限沒有發揮出來,於是將root用戶當作普通用戶一樣操作,加sudo解決。
成功安裝後,進入首頁面會出現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
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。
最後單擊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}”。
6.結語
參考文獻
https://www.nsnam.org/wiki/HOWTO_configure_Eclipse_with_ns-3馬春光, 姚建盛. ns-3網絡模擬器基礎及應用[M]. 北京:人民郵電出版社, 2014