【问题标题】:Running Veins from terminal, Class "Veins::ObstacleControl" not found从终端运行 Veins,找不到类“Veins::ObstacleControl”
【发布时间】:2017-07-19 09:01:04
【问题描述】:

Veins 在 Omnet IDE 中运行良好,但在尝试从终端运行时出现以下错误:

<!> Error in module (omnetpp::cModule) RSUExampleScenario (id=1) during 
network setup: Class "Veins::ObstacleControl" not found -- perhaps its code 
was not linked in, or the class wasn't registered with Register_Class(), or in 
the case of modules and channels, with Define_Module()/Define_Channel().

我正在使用以下命令

$ cd veins/example/veins_example
$ ../../../../omnet/omnetpp-5.0/bin/opp_run.exe -r 0 -u Cmdenv -n .;../../src/veins --image-path=../../images -l ../../src/veins --debug-on-errors=true omnetpp.ini

我还需要补充什么吗?

【问题讨论】:

    标签: omnet++ veins


    【解决方案1】:

    我找到了解决方案。 .ini 文件中包含的 ned 路径为 .,但在从 omnet IDE 运行模拟时,所有 ned 路径均取自 omnet 配置。附加 .ini 文件中所需的所有 ned 路径后,我可以从命令行运行。

    【讨论】:

      【解决方案2】:

      如果您想了解包含所有必要变量和路径的完整 shell 命令是什么,只需通过 OMNeT++ IDE 启动模拟并查看“控制台视图”。 当您通过 "Run as -> OMNeT++ Simulation" 使用所有路径等开始模拟时,您会在此处找到运行命令。

      如果看不到“控制台视图”,可以通过菜单“窗口 -> 显示视图 -> 其他 -> 常规 -> 控制台”打开它 .

      从 OMNeT++ 5.0 开始,IDE 将打印出运行命令,以便您可以复制、修改它(例如,从 GUI 更改为 CmdEnv)并将其粘贴到您的 shell 中。

      侧节点 1:请记住,在 Windows 下,您需要在 mingwenv.cmd 环境中运行命令。

      Side node 2:您还可以在 IDE 中修改运行配置,以便从 IDE 中开始在 CmdEnv 中进行模拟...在运行配置中,可以选择更改用户界面...

      【讨论】:

      • 嗨,我实际上是从 CmdEnv 控制台复制命令并在 MinGW 环境中运行它。
      • 但是当您从 IDE 执行您的模拟时(使用图形 TK/TCL 用户界面运行),错误不会显示?? “从 IDE 执行模拟以在 CmdEnv 中运行”的情况呢??
      • 是的,在 CmdEnv 或 TkEnv 中都没有错误。模拟在这两种情况下都很好,我想从脚本运行模拟。
      • 真的不知道,这样的错误通常出现在编译过程中,而不是执行过程中,因为模块的“注册”是在源代码中完成的。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-08-22
      • 1970-01-01
      • 2016-01-13
      相关资源
      最近更新 更多