1.查询Veins支持的OMNeT及SUMO版本
http://veins.car2x.org/download/
如下图所示,Veins5.0-alpha2最高支持SUMO1.2.0及OMNeT++5.5.1版本。
2.下载及安装SUMO
http://sumo.sourceforge.net/userdoc/Downloads.html#macos_binaries
参考SUMO官网,采用homebrew安装sumo。
2.1 安装SUMO
打开MacOS自带终端,输入
brew install sumo@1.2.0
2.2 配置环境变量
等待安装完成,使用将sumo路径添加到~/.bashrc文件中(如果终端用的是zsh模式,则添加到对应的.zshrc中)
export PATH=$PATH:/usr/local/opt/sumo@1.2.0/share/sumo/bin
在终端中输入下述语句,使配置文件生效。
source ~/.zshrc
2.2 测试安装效果
在终端输入
sumo-gui
出现上述界面则表明sumo安装成功。
3.安装OMNeT++
3.1 下载安装包
在OMNeT官网找到5.5.1版本的mac安装包,下载到HOME文件夹中。
https://omnetpp.org/download/old
3.2 配置环境
https://doc.omnetpp.org/omnetpp/InstallGuide.pdf
按照官网安装指南进行安装
打开2.2节中的环境配置文件,将下述语句添加到文件中,并用终端使配置文件生效。
export PATH=$HOME/omnetpp-5.5.1/bin:$HOME/omnetpp-5.5.1/tools/macosx/bin:$PATH
export QT_PLUGIN_PATH=$HOME/omnetpp-5.5.1/tools/macosx/plugins
3.3 配置环境与安装
在omnetpp5.1.1文件夹中打开终端,输入
./configure
注意!如果出现下述错误,则很有可能是因为其他软件对应的库中含有qt相关文件。
configure: error: Cannot build Qt apps, probably due to missing or too old Qt packages. Make sure Qt development packages are installed and newer than Qt 5.4. You can disable Qtenv by setting the WITH_QTENV variable to “no” in configure.user.
checking for qmake... /Users/xxx/anaconda3/bin/qmake
checking for moc... /Users/xxx/anaconda3/bin/moc
checking for uic... /Users/xxx/anaconda3/bin/uic
checking for rcc... /Users/xxx/anaconda3/bin/rcc
如上所示,证明anaconda相关库中含有qt,导致了configure错误。这时只需要先将3.2中配置文件中与anaconda相关的代码行注释掉(不要删除,等omnet安装完再还原,否则影响anaconda的使用)。
checking for qmake... /Users/xxx/omnetpp-5.5.1/tools/macosx/bin/qmake
checking for moc... /Users/xxx/omnetpp-5.5.1/tools/macosx/bin/moc
checking for uic... /Users/xxx/omnetpp-5.5.1/tools/macosx/bin/uic
checking for rcc... /Users/xxx/omnetpp-5.5.1/tools/macosx/bin/rcc
如上图所示,注释掉anaconda相关内容后,qt对应的包改为omnet文件夹中的文件了。
最后一步,在终端输入make即可。待make完成后,即完成了安装过程。
make
4.运行仿真平台
4.1 打开omnetpp
在终端中输入
omnetpp
4.2 打开sumo环境
进入veins文件夹,打开终端,输入下述命令即可。
./sumo-launchd.py
4.3 导入Veins
依次点击File > Import > General: Existing Projects into Workspace
选择veins文件夹即可。
4.4 运行仿真
右键omnetpp.ini,选择run as > omnetpp simulation。出现下图所示的界面,点击左上角run。
出现上图所示的界面,点击左上角run,开始仿真。