NS3编译运行

程序前面导入的头文件(也是一系列的头文件组合在一起的模块头文件)放在../build/debug/ns3/ 下面。

 

首先介绍一种最简单允许 examples 和 tests的方法:
$./waf configure --enable-examples --enable-tests
$./waf build

1.当一次使用 build.py 运行
禁止:  $ ./build.py
允许:   $ ./build.py --enable-examples --enable-tests
2.第一次使用 waf 运行build
禁止: 
$./waf configure
$./waf build
允许:
$./waf configure --enable-examples --enable-tests
$./waf build

 

有一个文件记录了默认的配置信息,可以修改它的默认参数,即默认的是激活examples and tests 还是锁死:

文件名叫utils/ .ns3rc文件  $ vim .ns3rc

禁止: # Set this equal to true if you want examples to be run.
examples_enabled = False

# Set this equal to true if you want tests to be run.
tests_enabled = False

允许:
# Set this equal to true if you want examples to be run.
examples_enabled = True

# Set this equal to true if you want tests to be run.
tests_enabled = True

配置好运行环境后,就可以用以下方式运行:

./waf --run  yourprogram    //yourprogram.cc

./waf --pyrun yourprogram.py

debug 程序:

./waf --run yourProgram --command-template="gdb %s"

编译好的可执行文件放在.../debug/example/...相应的目录里,自己可以查看到

自己写好的程序放在scratch/目录下就可以直接运行了,放在其它目录下运行程序的配置我了不会啊,

也没有找到相关方面的资料,有知道的提供下资料或连接,学习后可以补上。

转载于:https://www.cnblogs.com/lovemo1314/archive/2011/12/23/2298906.html

<think>好的,我需要帮助用户了解如何编译ns-3网络仿真器。根据用户提供的引用资料,我需要整理出安装和编译的步骤。首先,用户提到了两种引用,引用[1]和引用[2],其中引用[1]提到了使用git检出特定版本,然后构建和测试ns-3。引用[2]则详细描述了下载安装包、解压、使用waf编译的过程。需要注意用户提到的两种编译方法:build.py脚本和Waf方式,但用户选择了第二种,也就是Waf方式。 首先,我需要确认用户的问题是关于编译ns-3的教程和安装配置。用户可能已经下载了源码或者需要从零开始安装。根据引用内容,安装步骤包括下载安装包、解压、清理旧编译、配置、编译和测试。 可能需要将引用[1]和引用[2]的步骤结合起来。例如,引用[1]提到了检出特定版本,而引用[2]使用wget下载安装包。需要注意版本差异,用户提到的引用[1]是ns-3.40,而引用[2]是ns-allinone-3.29。因此,在步骤中可能需要区分版本处理方式。 用户的问题是关于编译教程,所以需要分步骤说明:下载源码、配置环境、编译、测试。同时,需要指出不同版本的下载方式,比如使用git或者wget。例如,ns-3.40可能需要通过git检出,而旧版本可能通过wget获取tar包。 此外,需要注意权限问题,用户在某些步骤中使用了sudo,但可能在某些情况下不需要。例如,解压和编译是否需要sudo取决于安装目录的权限。可能建议用户在用户目录下操作,避免权限问题。 另外,引用[1]中提到的构建和测试步骤可能需要详细说明,比如使用waf clean清理,配置时启用示例和测试,然后编译运行测试程序。 需要确保步骤清晰,按照顺序排列,并且正确引用来源。同时,在生成的问题中,要涵盖用户可能遇到的后续问题,比如依赖项安装、常见错误处理等。 现在整理步骤: 1. 下载源码:两种方式,git或wget,取决于版本。 2. 解压源码(如果使用tar包)。 3. 进入目录,清理旧编译。 4. 配置编译选项,启用示例和测试。 5. 执行编译。 6. 运行测试程序验证安装。 在编写过程中,需要正确使用LaTeX格式,但用户的问题不涉及数学公式,所以可能不需要。但根据系统指令,所有行内数学表达式要用$...$,但当前内容可能不涉及,所以可能不需要添加。 最后,生成相关问题,可能涉及依赖项安装、编译优化、不同版本差异等。</think>### ns-3 网络仿真器编译安装指南 #### 一、源码获取(两种方式) 1. **通过git获取最新版本(如ns-3.40)** ```bash git clone https://gitlab.com/nsnam/ns-3-dev.git cd ns-3-dev git checkout -b ns-3.40-release ns-3.40 # 检出特定版本[^1] ``` 2. **通过wget下载旧版本(如ns-3.29)** ```bash mkdir ns3 && cd ns3 wget https://www.nsnam.org/release/ns-allinone-3.29.tar.bz2 tar -jxvf ns-allinone-3.29.tar.bz2 # 解压[^2] ``` --- #### 二、编译前准备 1. **清理旧编译(避免冲突)** ```bash ./waf clean # 清除历史编译文件[^2] ``` 2. **配置编译选项** ```bash ./waf --build-profile=debug --enable-examples --enable-tests configure # 启用调试模式、示例和测试 ``` --- #### 三、执行编译 ```bash ./waf build # 开始编译[^2] ``` --- #### 四、验证安装 ```bash ./waf --run hello-simulator # 运行示例程序 ``` 若输出 `Hello Simulator` 表示编译成功。 --- #### 五、常见依赖问题 - **缺失依赖项**:需安装 `g++`、`python3`、`libsqlite3-dev` 等,可通过包管理器安装: ```bash sudo apt install build-essential libsqlite3-dev python3-dev ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值