当前位置: 动力学知识库 > 问答 > 编程问答 >

makefile - Artery installation with Veins OMNeT++

问题描述:

I already installed and tested the Veins v4a2 successfully (with the RSUexample included). In order to add the ITS-G5 application layer to the Veins, I tried to use the "Artery" unsuccessfully as when trying to run the example, it throws an error like:

Error in module (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().

The steps I followed are:

  1. Download Vanetza (and the modules required)
  2. Build Vanetza with no errors
  3. Download Artery
  4. Build Artery liked with Vanetza with no errors
  5. Copy the "Artery" folders and files (examples, src, tests, Makefile, configure...), to the Veins folder, overwriting the files.
  6. The build of the Veins is done correctly, but the execution of both (artery and veins) examples fail with the showed error.

Actually, the same error raises if I try to run the Artery or RSU examples from the Artery code directly, without the Veins code (it seems as the Artery code constains the Veins already).

Has anybody faced this issue before?

网友答案:

First of all, you don't need to copy Artery into Veins and overwrite any files because your assumption is correct: Artery's repository contains the full Veins sources because Artery is an add-on built upon Veins. The error message is actually a little bit misleading but if you take a closer look at the full output log you will most probably find a line about an undefined reference stating which symbol is actually missing in the compiled binary. This is often caused by building Vanetza in debug and Artery in release mode or vice versa.

分享给朋友:
您可能感兴趣的文章:
随机阅读: