首页 > 系统相关 >【OMNET++网络仿真系列学习笔记-1】Ubuntu 22.04版本安装OMNET++6.0版本及各类报错合集解决方案

【OMNET++网络仿真系列学习笔记-1】Ubuntu 22.04版本安装OMNET++6.0版本及各类报错合集解决方案

时间:2023-04-22 17:39:55浏览次数:43  
标签:版本 get ++ 安装 sudo apt install 6.0 OMNET


【OMNET++网络仿真系列学习笔记-1】Ubuntu 22.04版本安装OMNET++6.0版本及各类报错合集解决方案_omnet++


本章目录

  • 前言
  • 第一步:下载6.0压缩包
  • 第二步:解压并安装
  • 第三步:启动环境变量
  • 第四步:遇到的问题
  • 第五步:./configure编译结束
  • 第六步:验证安装是否可以正常运行?
  • 第七步:验证IDE
  • 总结:写在后面的话


前言

本篇文章记录了22.04版本Ubuntu安装OMNET++6.0版本及各类报错合集解决方案,途中遇到了无数问题,很多问题都无法找到解决方案,好在询问了一下实验室研究生师兄,在他的帮助指导下解决了。感谢师兄!

第一步:下载6.0压缩包

首先,我们进行下载6.0的压缩包。

【OMNET++网络仿真系列学习笔记-1】Ubuntu 22.04版本安装OMNET++6.0版本及各类报错合集解决方案_笔记_02

第二步:解压并安装

$ tar xvfz omnetpp-6.0-linux-x86_64.tgz
// tar xvfz是解压压缩包的意思

一般来说,OMNeT++要求设置某些环境变量,并且omnetpp- 6.0/bin目录在路径中。使用setenv脚本来设置所有这些变量。

要永久设置环境变量,请在主目录中编辑.foife或.zfoife并添加以下行:

[ -f "$HOME/omnetpp-6.0/setenv" ] && source "$HOME/omnetpp-6.0/setenv"

第三步:启动环境变量

【OMNET++网络仿真系列学习笔记-1】Ubuntu 22.04版本安装OMNET++6.0版本及各类报错合集解决方案_linux_03


根据指示,进行下一步操作。提示我没有C编译环境。

【OMNET++网络仿真系列学习笔记-1】Ubuntu 22.04版本安装OMNET++6.0版本及各类报错合集解决方案_omnetpp_04


然后发现yum也没装(因为笔者是新的Ubuntu系统,所以进行yum安装。)

首先切换到root身份。

sudo -s

然后安装build-essential程序包

apt-get install build-essential
(建议更换阿里源快一点)
//如果出现了E: Unable to locate package build-essential
//那么就需要进行 apt-get update命令

最后安装yum命令。

apt-get install yum

可以了之后继续来尝试安装。发现少了bison和flex包,那就接着安装,但是需要sudo -s进入root权限。Y

【OMNET++网络仿真系列学习笔记-1】Ubuntu 22.04版本安装OMNET++6.0版本及各类报错合集解决方案_omnetpp_05


中途发现贼多bug,这里就不记录了,一个个解决吧,把python3-pip都装了一遍。

【OMNET++网络仿真系列学习笔记-1】Ubuntu 22.04版本安装OMNET++6.0版本及各类报错合集解决方案_笔记_06


【OMNET++网络仿真系列学习笔记-1】Ubuntu 22.04版本安装OMNET++6.0版本及各类报错合集解决方案_omnetpp_07

第四步:遇到的问题

不知道是Ubuntu22.04的问题,还是什么什么杂七杂八的问题,反正安装过程中一堆报错,不是少这个包就是少那个配置。这里大致记录一下出现的各类情况:

问题1:error: Cannot find OpenSceneGraph 3.2 or later,好家伙,这个问题网上没答案,真离谱。

学了两手,查询一些包:sudo apt search libqt5-dev 这种查询语句可以查很多相关类的各种包。这个问题的解决方案如下:

sudo apt install libopenscenegraph-dev

问题2:提示我找不到python3? 可是我明明装了的,可以使用 python3 --version查看自己是否有安装python。

解决方案代码如下:

sudo apt-get install python-pip

或者第二种
sudo apt-get install python3-pip

问题3:提示我缺少 posix_ipc 的包问题找不到,是python的问题?

解决方案:

python3 -m pip install posix_ipc

问题4: 少了numpy scipy pandas matplot lib等一系列python的相关包

pip3 install -i https://pypi.douban.com/simple numpy scipy pandas matplot lib
//-i是换源下载的意思,使用douban的下载源 速度快很多

问题5:安装ubuntu需要的一些基础包,如c编译等等。

apt-get install build-essential

第五步:./configure编译结束

【OMNET++网络仿真系列学习笔记-1】Ubuntu 22.04版本安装OMNET++6.0版本及各类报错合集解决方案_笔记_08


编译结束后直接输入代码:make,即可。

【OMNET++网络仿真系列学习笔记-1】Ubuntu 22.04版本安装OMNET++6.0版本及各类报错合集解决方案_omnetpp_09

第六步:验证安装是否可以正常运行?

【OMNET++网络仿真系列学习笔记-1】Ubuntu 22.04版本安装OMNET++6.0版本及各类报错合集解决方案_ubuntu_10

跑出来了大概是这个样子,还是挺不错的。真的不容易,到这一步。

【OMNET++网络仿真系列学习笔记-1】Ubuntu 22.04版本安装OMNET++6.0版本及各类报错合集解决方案_笔记_11


【OMNET++网络仿真系列学习笔记-1】Ubuntu 22.04版本安装OMNET++6.0版本及各类报错合集解决方案_omnet++_12

第七步:验证IDE

可以通过在终端中输入以下命令来启动OMNeT++模拟IDE:

omnetpp

【OMNET++网络仿真系列学习笔记-1】Ubuntu 22.04版本安装OMNET++6.0版本及各类报错合集解决方案_笔记_13


标签:版本,get,++,安装,sudo,apt,install,6.0,OMNET
From: https://blog.51cto.com/u_16009031/6215386

相关文章

  • C++的拓扑排序实现
    template<typenameT=CString,typename_Data=CString> structUnion_node//!<节点 { Union_node():nColor(0){} std::vector<Union_node*>vecNodeSon; Tkey;//!<关键数据 _Datadata;//!<卫星数据 mutableintnColor;//0:白色节点(未发现),1:灰色节点(发现),......
  • 初学者代码训练Day5(c/c++)
    打鱼还是晒网要求中国有句俗语叫“三天打鱼两天晒网”。某人从1990年1月1日起开始“三天打鱼两天晒网”,问这个人在以后的某一天中是“打鱼”还是“晒网”。流程图  代码1#include<iostream>2usingnamespacestd;34intmain()5{intyear=0,month=0,day=......
  • 【Python】尝试切换py版本
    失败问chatgpt,怎么把abaquspython版本切换到py3.6,结果失败。chatgpt给出的建议:修改abaqus_v6.env,明显扯淡!我就尝试在custom_v6.env中添加python路径,结果就是开头的报错。其他有用的回答:怎么查看abaqus2020当前使用的Python的版本信息importsysprint(sys.version)......
  • node和sass版本不匹配问题
     解决办法:使用npminstall--legacy-peer-deps进行安装。比如下图: ......
  • C++恶意软件开发(五)Linux shellcoding
    什么是shellcode?Shellcode通常指的是一段用于攻击的机器码(二进制代码),可以被注入到目标计算机中并在其中执行。Shellcode的目的是利用目标系统的漏洞或弱点,以获取系统控制权或执行恶意操作。它的名称来自于它经常被注入到攻击者编写的恶意软件的shell环境中,以便让攻击者可以更......
  • C语言和C++推荐书籍
    《CPrimerPlus》(第六版)作者:StephenPrata《C和指针》(第二版)作者:KennethA.Reek《C语言程序设计》(第四版)作者:谭浩强《C++Primer》(第五版)作者:Lippman,Lajoie,andMoo《EffectiveC++》(第三版)作者:ScottMeyers《STL源码剖析》作者:侯捷《深入理解C++11:C++11新特性解析与......
  • C语言和C++的switch语句用法
    C语言和C++的switch语句用法是相似的,但在一些细节上有所不同。在C语言中,switch语句的用法如下:switch(expression){  caseconstant1:    //dosomething    break;  caseconstant2:    //dosomething    break;  //...  ......
  • c++打卡第十二天
    一、问题描述。 二、设计思路①、我们可以从第五年往前推算,即1000=前一年剩余的钱*(1+12*0.0063),算出的结果加上一千就是前一年年初加上利息所得的总钱。②、列出五行式子就可以算出解。③、打印出程序运行结果。三、代码实现。#include<iostream>usingnamespacestd;i......
  • C ++各个数据类型的输入输出
    C++中各个数据类型的输入输出主要使用iostream库和格式化输入输出函数printf、scanf等,下面是各个数据类型的输入输出方式:1.整型:使用cin和cout进行输入输出,或者使用scanf和printf进行输入输出。intn;cin>>n;cout<<n<<endl;scanf("%d",&n);printf("%d\n",n);2.浮点型:使......
  • C++调用自定义源文件函数
    C++调用自定义源文件函数的步骤如下:在需要调用函数的源文件中包含自定义源文件的头文件。例如,如果需要调用名为myfunc.cpp的自定义源文件中的函数,则需要在调用该函数的源文件中包含myfunc.h头文件。编译自定义源文件。如果使用命令行编译,可以使用以下命令编译自定义源文件并生成......