1. 使用的版本
-
OMNET++
- 5.5.1
- 6.0 INET
- 4.2.5
- 4.4
2. 学习资料
3. INET导入项目并使用
-
找到与使用的OMNET++版本适配的inet版本下载
-
解压inet到OMNET安装目录
-
在控制台使用命令进入到OMET安装目录下的inet文件夹
-
使用命令编译(make阶段时间较长,耐心等待)
make makefiles make
-
打开OMNET软件,导入inet
- File -> Import -> General -> Existing Projects into Workspace
- Select inet 安装目录 -> 勾选inet -> Finish
-
导入后在该工作空间内创建的项目可以使用inet已有的ned组件
- 注意:在新建项目里import需要的inet组件时,一定要通过包名定位到具体的组件ned文件所在,再通过import该具体文件才不会标错。
4. 踩坑记录
-
inet4.4的安装需要先把omne环境搭建好,在解压omnet之后,进入到omnet解压目录里,运行以下命令:
source setenv ./configure make
验证omnet是否搭建好
cd samples/aloha ./aloha
出现图形化界面即搭建好
-
为了之后在任何一级目录下都可以使用omnetpp命令启动omnet,需要将omnet安装目录下的bin文件加入到环境变量。
但是,该操作的最主要作用是后续编译inet项目时,需要找到bin目录下的opp_featuretool等工具,如果不将该路径加入环境变量,那么在之后的inet中使用make makefiles命令时,会显示如下错误:....:opp_featuretool:not found
使用以下命令将omnet路径加入到环境变量:
sudo vim /etc/profile # 在末尾处加上下面的语句 export PATH=/home/xxx/SoftWare/OMNET6.0/omnetpp-6.0/bin:$PATH # :wq保存退出 source /etc/profile
完成之后,关机重启,在任何一级目录都可以使用omnetpp启动IDE
-
将inet4.4解压到omnetpp6.0文件内,使用以下命令完成编译:
source setenv make makefiles #该阶段时间较长 make
-
inet4.4版本的ned文件相较inet4.2.5有所增加(上图是inet4.2.5,下图是inet4.4),在inet的学习手册里,有些关于队列的实例会用到一些4.2.5版本没有的ned组件,所以要考虑使用4.4版本,并更新omnet至inet适配版本。
-
语法识别问题。在inet4.2.5的环境下试图运行inet学习手册中的ContentBasedClassifier,在ini初始化文件中出现语法识别问题。初步考虑为omnet版本无法识别问题。
果然,在omnet6.0版本,新增了expr语法。
-
omnet6.0安装完毕后,新建omnet项目失败,显示错误如下:
FATAL:The OMNet++ IDE native library failed load, all OMNet++ related functionality will be unaccessible
Try upgrading your Linux installation to a more recent version -
omnet6.0安装完毕后,导入项目,点击ned文件,显示错误如下:
An error has occurred. See error log for more details.
assertion failed;上面这两个错误提出的解决方案是升级系统版本,omnet6.0的官方安装手册要求Ubuntu的版本是20.04LTS或者22.04LTS,so…