ns-3 入门与安装

2024-04-15 17:18
文章标签 安装 入门 ns

本文主要是介绍ns-3 入门与安装,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

环境ubuntu:

(具体ubuntu版本16.04,虽然最新的ubuntu18.04已经发行,但是ns-3的一些前期依赖包会不支持)
最好使用linux系统,可以在自己windows中装双系统;不推荐虚拟机,虚拟机毕竟基于系统本来环境,或多或少有些问题。
如果对linux系统不熟悉,可以参考我关于“从零开始学Linux”
前期准备:依赖包的安装:
ns-3的源代码基于c++和python;以下包中也有后期支持可视化的和安装方式的包为保险起见
就安装所有的包。
在终端中使用sudo或者直接使用root权限(ubuntu下sudo su)进行下载:

apt-get install gcc g++ python python-dev
apt-get install mercurial python-setuptools git
apt-get install qt5-default
apt-get install python-pygraphviz python-kiwi python-pygoocanvas libgoocanvas-dev ipython
apt-get install gir1.2-goocanvas-2.0 python-gi python-gi-cairo python-pygraphviz python3-gi python3-gi-cairo python3-pygraphviz gir1.2-gtk-3.0 ipython ipython3  //对于ubuntu 18.04的用户
apt-get install openmpi-bin openmpi-common openmpi-doc libopenmpi-dev
apt-get install autoconf cvs bzr unrar
apt-get install gdb valgrind 
apt-get install uncrustify
apt-get install doxygen graphviz imagemagick
apt-get install texlive texlive-extra-utils texlive-latex-extra texlive-font-utils texlive-lang-portuguese dvipng latexmk
apt-get install python-sphinx dia 
apt-get install libgtk2.0-0 libgtk2.0-dev
apt-get install vtun lxc
apt-get install libboost-signals-dev libboost-filesystem-dev

正式下载ns-3:

下载ns-3的方式有很多中,但是我们选择一种效率最高的方式tarball:

创建一个目录,为后期的ns-3的文件都放置于此目录:
在这里就叫做nsdir吧

mkdir nsdir
cd nsdir
wget http://www.nsnam.org/release/ns-allinone-3.29.tar.bz2		//切记下载路径和我的一样,版本可以选更高的版本
解压刚才下载的压缩包,用tar可能失败,可以直接用图形界面找到压缩包右击选择"Extract here"进行解压,解压后得到ns-allinone-3.25文件包;

构建ns-3

在终端中:

cd nsdir
cd ns-allinone-3.25
sudo ./build.py			//等待一会
cd ns-3.29
sudo ./waf
sudo ./waf -d debug configure --enable-examples --enable-tests		//对源码进行构建配置
接下来可以将examples中的源码复制到scratch文件中:
sudo ./waf --run scratch/hello-simulator   //切记运行时不加后缀.cc

运行结果:

Hello Simulator //看到此结果则成功安装好ns-3

以上就是安装ns-3的全部内容。

这篇关于ns-3 入门与安装的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/906433

相关文章

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

从入门到精通C++11 <chrono> 库特性

《从入门到精通C++11<chrono>库特性》chrono库是C++11中一个非常强大和实用的库,它为时间处理提供了丰富的功能和类型安全的接口,通过本文的介绍,我们了解了chrono库的基本概念... 目录一、引言1.1 为什么需要<chrono>库1.2<chrono>库的基本概念二、时间段(Durat

解析C++11 static_assert及与Boost库的关联从入门到精通

《解析C++11static_assert及与Boost库的关联从入门到精通》static_assert是C++中强大的编译时验证工具,它能够在编译阶段拦截不符合预期的类型或值,增强代码的健壮性,通... 目录一、背景知识:传统断言方法的局限性1.1 assert宏1.2 #error指令1.3 第三方解决

从入门到精通MySQL 数据库索引(实战案例)

《从入门到精通MySQL数据库索引(实战案例)》索引是数据库的目录,提升查询速度,主要类型包括BTree、Hash、全文、空间索引,需根据场景选择,建议用于高频查询、关联字段、排序等,避免重复率高或... 目录一、索引是什么?能干嘛?核心作用:二、索引的 4 种主要类型(附通俗例子)1. BTree 索引(

Redis 配置文件使用建议redis.conf 从入门到实战

《Redis配置文件使用建议redis.conf从入门到实战》Redis配置方式包括配置文件、命令行参数、运行时CONFIG命令,支持动态修改参数及持久化,常用项涉及端口、绑定、内存策略等,版本8... 目录一、Redis.conf 是什么?二、命令行方式传参(适用于测试)三、运行时动态修改配置(不重启服务

MySQL DQL从入门到精通

《MySQLDQL从入门到精通》通过DQL,我们可以从数据库中检索出所需的数据,进行各种复杂的数据分析和处理,本文将深入探讨MySQLDQL的各个方面,帮助你全面掌握这一重要技能,感兴趣的朋友跟随小... 目录一、DQL 基础:SELECT 语句入门二、数据过滤:WHERE 子句的使用三、结果排序:ORDE

gitlab安装及邮箱配置和常用使用方式

《gitlab安装及邮箱配置和常用使用方式》:本文主要介绍gitlab安装及邮箱配置和常用使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1.安装GitLab2.配置GitLab邮件服务3.GitLab的账号注册邮箱验证及其分组4.gitlab分支和标签的

MySQL MCP 服务器安装配置最佳实践

《MySQLMCP服务器安装配置最佳实践》本文介绍MySQLMCP服务器的安装配置方法,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下... 目录mysql MCP 服务器安装配置指南简介功能特点安装方法数据库配置使用MCP Inspector进行调试开发指

在Windows上使用qemu安装ubuntu24.04服务器的详细指南

《在Windows上使用qemu安装ubuntu24.04服务器的详细指南》本文介绍了在Windows上使用QEMU安装Ubuntu24.04的全流程:安装QEMU、准备ISO镜像、创建虚拟磁盘、配置... 目录1. 安装QEMU环境2. 准备Ubuntu 24.04镜像3. 启动QEMU安装Ubuntu4