

在Linux下安装OMNet++
source link: https://sineatos.github.io/tools/develop/omnetpp/setup-omnetpp-in-linux/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

在Linux下安装OMNet++
July 05, 2018
OMNet++是一个仿真平台和开发环境,以前用过一下,后来已经很长一段时间没有用。 最近师姐打算搭一个仿真平台做传感器实验,碰巧我有点经验,就打算重新安装OMNet++。
一开始在Windows下面安装,发现这玩意有点坑,从官网下载下来以后需要编译一次才可以(记得以前好像不需要啊)。 在Windows下装完还是需要3G多一点的空间,然后打开OMNet++以后写好代码编译居然老是报错,搞了一个下午都没搞出究竟是哪里出问题,换了其他人的机器装一遍,发现能够正常编译。 后来发现是因为我的环境变量里面设置了一个GCC的路径,而OMNet++需要使用的是它目录下MingW64下的GCC,将原来的GCC路径去掉,换成OMNet++里面的GCC就可以了,但是OMNet++的bin目录下还包含了python等工具,跟我自己机器上的环境冲突,影响日常使用。 最后还是考虑将OMNet++卸了,在虚拟机中安装,原本想装个Win10的虚拟机,发现装不了,只好换个Linux的虚拟机。 无意中发现Deepin好像看上去不错,想试试就下了装。
不得不说Deepin的界面,源等都不错,感觉比Ubuntu还要适合新手入门,就是有点大,安装完再把一些日常使用的开发工具装一遍就没了20G(庆幸设置虚拟机的时候设了40G),看来在虚拟机里面还是用vim+插件开发好了。 但是还是推荐大家试一下这个发行版。
从OMNet++的官网上下了linux下的安装包,大小比windows下的安装包小,估计是少了mingw64的内容变小了。
解压以后放到$HOME
下,然后根据doc/
下面的安装指南安装。
一开始试了下直接./configure
,发现好像少了不少东西,然后就根据它的提示逐个逐个apt install
,当然,像java,gcc,g++这些都在之前装好了,想起windows的bin目录下还有clang,就顺手装上了,剩下的一些实际上在安装指南上也有给出。
由于Deepin好像是Debian的衍生,所以我就按照安装指南上面Ubuntu的安装方法把必须装的依赖都装上了。
但是./configure
一直报错说找不到C的math
库。
随手写了个cpp的文件,包含了math.h
,并使用里面的函数,编译能通过,执行也没问题。
想了很久,想起前两天看过说clang好像是没有头文件,心想估计跟这有联系。
再看看安装指南,发现./configure
实际上会读取目录中的./configure.user
里面的配置,然后根据配置来检查。
打开./configure.user
,检查发现原来是默认优先使用clang来编译,看来是手贱装了个clang惹的祸。
把优先clang编译去掉,然后继续看配置里面还有什么不需要的,比如说设置WITH_OSG=no
,OSG_LIBS=no
。最后再./configure
和make
,编译通过了。
在编写完OMNet++的代码以后,编译和运行可能会报一下错误:
- 提示一些用户自己编写的头文件无法找到,这个时候把对应的
include
与其删去再重写一遍就可以了。 运行提示缺少
zlib.1.2.9
库,这时在网上下载并编译安装就可以了:# https://sourceforge.net/projects/libpng/files/zlib/1.2.9/zlib-1.2.9.tar.gz/download tar -xvf ~/Downloads/zlib-1.2.9.tar.gz cd zlib-1.2.9 sudo -s ./configure; make; make install cd /lib/x86_64-linux-gnu ln -s -f /usr/local/lib/libz.so.1.2.9/lib libz.so.1 cd ~ rm -rf zlib-1.2.9
</div
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK