zoukankan      html  css  js  c++  java
  • win7x64下安装ns3

    ns3安装起来比较复杂,自己装了两天写了这个简明的安装教程:

    1.下载并安装cygwin:http://cygwin.com/install.html

    2.下载并安装python:http://www.python.org/download/

    注:安装python不要更改安装目录,如果更改,在windows中注册环境变量。可以在cygwin中用which python命令来查阅是否安装好了python

    3.下载并安装mercurial:http://mercurial.selenic.com/release/windows/

    注:并不需要安装tortoisehg.tortoisehg是mercurial的一个图形界面,mercurial简称hg,非常亲切的,我用过tortoiseSVN。

    4.在cygwin下的安装目录下新建一个文件夹repos,路径是C:\cygwin\home\用户名\repos,输入:

    cd
    mkdir repos
    cd repos
     
     
    Mercurailhg命令执行后,可以看到如下结果:
    destination directory: ns-3-allinone
    requesting all changes
    adding changesets
    adding manifests
    adding file changes
    added 31 changesets with 45 changes to 7 files
    7 files updated, 0 files merged, 0 files removed, 0 files unresolved
     
    当clone命令运行结束以后,在前述建立的repos目录下,会出现一个ns-3-allinone目录,而且含有如下文件:
    build.py*  
    constants.py  
    dist.py*  
    download.py*  
    README  util.py
    注意:你实际上仅仅下载了一些Python脚本,下一步就是利用这些脚本根据需要下载并来安装ns-3软件包。如果你访问如下链接:http://code.nsnam.org/ 就会发现若干源码库,其中很多是ns3开发团队专用的。其中在源码库org/ 你会发现名为ns-3.1的源码库,这是ns-3的第一个稳定版本。还有一些分散的源码库名为ns-3.1-reftraces,它为ns-3.1保留了参考记录。保持这些文件的一致性是非常重要的,尤其是当你想对源码库做一个回归测试时。至少做一次测试来验证所有的程序都正确编译了。
     
    当前的开发版ns-3的快照存放在http://code.nsnam.org/ns-3-dev/中;相关的参考记录存放在链接 http://code.nsnam.org/ns-3-dev-ref-traces/中。 ns3开发人员会尽量保持源码库中的代码处于一致,工作的状态,但是他们仍在开发中,有一些未发布过的代码。所以如果你不需要最新的特性的话还是考虑使用发行版。
     
    由于发布版的版本号在变化中,我在指南中还是继续使用通常不变的ns-3-dev,但是你可以根据自己的需要选择其他的版本,并替换这里的”ns-3-dev”,(例如, ns-3.6或 ns-3.6-ref-traces),在下文中,你可以通过访问源码库列表或者访问ns3开始网页找到最新的ns-3发布版软件。 
    当你从源码库下载完后,继续切换进入你自己建立的ns-3-allinone目录中。 我们现在使用download.py脚本来下载ns-3需要使用的各个部件。继续在你的shell中输入以下命令 (如果你想使用任意发行版你可以将ns-3-dev替换为你选择的发行版的名字,例如"ns-3.6" 和"ns-3.6-reftraces")。
    ./download.py -n ns-3-dev -r ns-3-dev-ref-traces
    注意,-n选项的默认参数为ns-3-dev-r选项的默认参数为ns-3-dev-ref-traces,所以上述命令中这两个选项的参数实际上是多余的。我们使用这个例子来描述如何指定源码库。你只需简单键入如下命令就可以使用默认参数来下载ns-3-dev
    ./download.py
     
    5.虽然教程写的是命令行运行download.py,但是我是直接双击运行的download.py
     
    hg (Mercurial)命令执行时,你可以看到如下的信息:
    #
    # Get NS-3
    #
    Cloning ns-3 branch
    => hg clone http://code.nsnam.org/ns-3-dev ns-3-dev
    requesting all changes
    adding changesets
    adding manifests
    adding file changes
    Chapter 3: Getting Started 8
    added 4634 changesets with 16500 changes to 1762 files
    870 files updated, 0 files merged, 0 files removed, 0 files unresolved
    这些输出信息显示下载脚本已经从源码库中下载到了实际的ns-3源码,紧接着,你就会看到这样的信息:
    #
    # Get the regression traces
    #
    Synchronizing reference traces using Mercurial.
    => hg clone http://code.nsnam.org/ns-3-dev-ref-traces ns-3-dev-ref-traces
    requesting all changes
    adding changesets
    adding manifests
    adding file changes
    added 86 changesets with 1178 changes to 259 files
    208 files updated, 0 files merged, 0 files removed, 0 files unresolved
    这表明下载脚本为你下载了参考记录文件。下载脚本被设计成自适应的,它能检测在一些系统平台上某些ns-3模块不被支持,在你的系统平台上,你可能看不到这些系统不支持的源码被下载。然而,在大多数系统平台上这样的过程会显示如下:
    #
    # Get PyBindGen
    #
    Required pybindgen version: 0.10.0.640
    Trying to fetch  pybindgen; this will fail if no network connection is available. Hit Ctrl-=> bzr checkout -rrevno:640 https://launchpad.net/pybindgen pybindgen
    Fetch was successful.
    这些信息显示了下载脚本在为你下载Python绑定生成器的过程,下一步你就可能看到如下的信息(不同的系统平台表现有所不同),
    #
    # Get NSC
    #
    Required NSC version: nsc-0.5.0
    Retrieving nsc from https://secure.wand.net.nz/mercurial/nsc
    => hg clone https://secure.wand.net.nz/mercurial/nsc nsc
    requesting all changes
    adding changesets
    adding manifests
    adding file changes
    added 273 changesets with 17565 changes to 15175 files
    10622 files updated, 0 files merged, 0 files removed, 0 files unresolved
    这些信息显示了下载脚本在为你下载网络仿真器支架程序(NSC)的过程。
     
    当复制命令结束,你在~/repos/ns-3-allinone目录下会有几个新目录:
    build.py* constants.pyc download.py* ns-3-dev-ref-traces/ pybindgen/ util.py
    constants.py dist.py* ns-3-dev/ nsc/ README util.pyc
    继续进入ns-3-dev目录,你会见到如下的文件:
    AUTHORS examples/ regression/ scratch/ waf*
    bindings/ LICENSE regression.py src/ waf.bat*
    CHANGES.html ns3/ RELEASE_NOTES utils/ wscript
    doc/ README samples/ VERSION wutils.py
    现在可以准备编译ns-3软件了。
     

    6.同样的,下面的教程使用命令行进行build,而我直接双击运行了build.py

    如果你是第一次编译ns-3软件包,建议使用allinone环境,它会为你以最常用的方式配置工程。
    切换到你在上文下载一节中创建的目录下。如果你使用Mercurial下载,请进入~/repos目录下的ns-3-allinone目录,如果你使用tarball下载,找到~/tarballs目录下类似ns-allinone-3.6的目录,键入如下的命令,并请耐心等待:
    ./build.py
     
     
    编译脚本开始编译下载的ns3时,你会看到大量常见的编译器输入信息。最后你会看到如下编译成功的好消息:
    Waf: Leaving directory ‘/home/craigdo/repos/ns-3-allinone/ns-3-dev/build’
    build’ finished successfully (2m30.586s)
    一旦工程编译好,你就可以不再使用ns-3-allinone脚本包了。你已经从其中获取必要的东西,现在是你直接同Waf交互的时候了,它位于ns-3-dev目录中,并不在 ns-3-allinone目录中。切换到ns-3-dev目录下(或者你下载的版本的相应目录下):
    cd ns-3-dev

    参考文献:

    【1】步骤2和3参考http://mercurial.selenic.com/wiki/WindowsInstall

    【2】步骤1、4、5、6参考自http://yangfei1.blog.51cto.com/1471532/368586http://yangfei1.blog.51cto.com/1471532/368585

  • 相关阅读:
    C++学习9 this指针详解
    福建省第八届 Triangles
    UVA 11584 Partitioning by Palindromes
    POJ 2752 Seek the Name, Seek the Fame
    UVA 11437 Triangle Fun
    UVA 11488 Hyper Prefix Sets (字典树)
    HDU 2988 Dark roads(kruskal模板题)
    HDU 1385 Minimum Transport Cost
    HDU 2112 HDU Today
    HDU 1548 A strange lift(最短路&&bfs)
  • 原文地址:https://www.cnblogs.com/xlw1219/p/2638183.html
Copyright © 2011-2022 走看看