user1166776
user1166776

Reputation: 11

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?

Upvotes: 1

Views: 616

Answers (1)

Raphael Riebl
Raphael Riebl

Reputation: 86

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.

Upvotes: 2

Related Questions