veins和MATLAB的组合 在omnetpp上——github项目

 
项目地址: https://github.com/veins/veins_matlab
步骤总结:
matlab与omnet需要安装在一个盘符内(win10 e:)
1 在MATLAB中,打开init.m文件并运行
2 用 mingwenv. cmd 编译运行veins项目,测试运行良好后关闭即可。
3 编译veins_matlab步骤
先    cd E:/omnetpp-5.6.1/samples/veins_matlab   
然后  ./configure --with-matlab=/E/ProgramFiles/Polyspace/R2019a
最后 make
4 运行matlab项目步骤
cd E:/omnetpp-5.6.1/samples/veins_matlab/examples/veins_matlab
然后./run -u Cmdenv
 
 

详细步骤说明:

支持的程序版本

  • 静脉5.0-alpha2(请参阅 http://veins.car2x.org/
  • OMNeT ++ 5.4.1(请参阅 https://omnetpp.org/ 本次实测5.6.1也支持,5.4.1在win下反而无法运行veins5.0a2
  • MATLAB R2019a(请参阅 https://www.mathworks.com/products/matlab/ 实测 r2018b不能运行成功,并且matlab与omnet需要安装在一个盘符内。

支持平台

  • Windows 10 本次实测
  • Ubuntu 18.04
  • macOS 10.14
 
 

设定

首先,请确保在兼容平台(请参见上文)上使用兼容程序版本(请参见上文)。
确保MATLAB已安装并且可以正常工作。
打开MATLAB。 在MATLAB中,转到的 matlab/ 子目录 veins_matlab 如果您使用的是Windows,请确保从“开始”菜单或资源管理器中打开MATLAB(请勿从OMNeT ++ shell中打开MATLAB,因为这会更改会话共享所依赖的环境变量才能起作用)
1 在MATLAB中,打开 init.m 文件并运行它。 这将建立一个名为的共享会话 veins
2 打开omnet根目录下自带的 mingwenv. cmd,导航到veins项目的目录,执行命令行命令 ./configure 之后  make 。再 转到 examples/veins 子目录并运行 ./run 以确认Veins是否正常工作。而后即可关闭veins仿真窗口。以后的运行中如果已经确定veins可以运行,此步骤可忽略。
在命令行窗口中,转到 veins_matlab 目录(复制到了 E:\omnetpp-5.6.1\samples 下,和veins项目并列)。
实测是在 cd E:/omnetpp-5.6.1/samples/veins_matlab
确定安装MATLAB的位置。 您要查找的目录将包含一个文件, VersionInfo.xml 并且应 位于 matlab (或 matlab.exe )二进制文件 所在的上一级 将此路径作为参数传递给 ./configure --with-matlab=... ,类似于以下几行之一:
./configure --with-matlab=/opt/matlab/R2019a
./configure --with-matlab=/Applications/MATLAB_R2019a.app
./configure --with-matlab=/c/ProgramFiles/MATLAB/R2019a
实测 ./configure --with-matlab=/E/ProgramFiles/Polyspace/R2019a
4 veins_matlab 通过运行进行 构建
make
veins_matlab 跑步 尝试
cd examples/veins_matlab
实测 cd E:/omnetpp-5.6.1/samples/veins_matlab/examples/veins_matlab
./run -u Cmdenv
您应该看到以下输出(与其他OMNeT ++输出配合):
[INFO] General:0 MATLAB result is 11
[INFO] General:0 MATLAB result is 12
[INFO] General:0 MATLAB result is 13

bugs

  • 不支持在包含空格的位置上安装MATLAB。 创建符号链接(在Windows上:目录连接,即运行类似的东西 mklink /J ProgramFiles "Program Files" )可以解决此错误。
  • 在调试模式下运行也将附加 _dbg 到MATLAB的库名称。 这意味着OMNeT ++将尝试加载库 libMatlabDataArray_dbg libMatlabEngine_dbg 从创建(或简单地复制),例如,一个符号链接 libMatlabEngine.dll libMatlabEngine_dbg.dll 可以解决这个bug。
 
 
 
 
 
 
 
 
 
 

你可能感兴趣的:(Omnet++)