运行 来自终端的静脉,Class "Veins::ObstacleControl" 未找到

Running Veins from terminal, Class "Veins::ObstacleControl" not found

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

我还需要补充什么吗?

如果您想了解带有所有必要变量和路径的完整 shell 命令是什么,只需通过 OMNeT++ IDE 启动模拟并查看 "Console View"。 当您通过 "Run as -> OMNeT++ Simulation" 使用所有路径等开始模拟时,您会在那里找到 运行 命令。

如果你看不到"Console View",你可以通过菜单"Window -> Show View -> Other -> General -> Console"打开它。

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

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

侧节点 2:您还可以修改 IDE 中的 运行 配置,以在 IDE... 中的 CmdEnv 中开始模拟=] 配置,有一个选项可以更改用户界面...

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