我正在学习 R 并通过这个名为RInside https://cran.r-project.org/web/packages/RInside/index.html它提供了 C++ 类来调用嵌入式 R 解释器。我可以按照配置后运行一些示例这篇博文 http://blog.fellstat.com/?p=170并使用 Omnet++ eclipse IDE 中提供的 makefile。我们如何将它与静脉集成(静脉已经在顶级目录和 src 目录中自动生成了 makefile)? Rinside 需要 GCC 工具链,我认为这是 OMNeT++ 中的默认工具链。
根据我迄今为止所了解到的情况,这些是选项:
- Omnet++ user manual says we can use custom makefile for some source directory. So keeping RInside code in one source folder and a separate makefile and calling this makefile from veins top level makefile. I tried both of these approaches:
- 从 RInside 示例和 makefile 复制一些源文件,并更改 IDE 中的构建属性以从构建中排除此文件夹
- 还为此目录使用了选项 custom make file。但到目前为止还没有成功。可能是我做得不正确。
- 使用 Rinside 实现所有功能并使其成为一个库(静态/共享)。充分利用这个图书馆。
到目前为止,有人尝试将它与基于 omnet++/veins 的项目一起使用吗?有谁知道是否值得尝试?欢迎任何其他建议。
我使用的是 Ubuntu 16.04 LTS 64 位。
您真的想在 OMNeT++ 中使用 R,还是想要进行结果/数据分析?
结果分析
您能否提供一些有关您想要做什么/为什么尝试在 OMNeT++ 中使用 R 而不是在模拟完成后执行后处理步骤的信息?一般来说,我建议将后处理与模拟分开,使用 OMNeT++ 中的统计收集库在结果中生成相关数据,并使用 R 处理这些数据。您可以找到一些与Plexe http://plexe.car2x.org/,一个基于 VEINS 的 CACC 应用模拟器,这个存储库 https://github.com/michele-segata/plexe-data-extraction。我个人更喜欢使用 python 进行后处理,但如果您已经熟悉 R,那么我建议您看看它。
与 VEINS 整合
如果您确实想这样做,我建议您问题中使用第二种方法,即简单地动态链接到 RInside 库作为系统库并将它们指定为依赖项。这基本上是让事情发挥作用的最简单方法。
但是,如果由于某种原因您想要显式链接该库,您应该意识到 VEINS 的构建过程依赖于配置脚本 https://github.com/sommer/veins/blob/master/configure包含在分发中。它与普通 C++ 程序的工作方式不同之处在于,OMNeT++ 模拟应该使用 OMNeT++ 提供的构建opp_makemake
工具:这正是 VEINS 配置脚本的作用。如果您想在构建过程中包含其他库路径,最简单的方法是使用以下命令创建 makefile./configure --include PATH/TO/RINSIDE/HEADERS
。更多细节请参考脚本源代码
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)