2016-02-29 106 views
1

我已經成功安裝並測試了Veins v4a2(包括RSU示例)。爲了添加ITS-G5應用層到靜脈,我試圖用「動脈」不成功作爲試圖運行的例子的情況下,它引發等的錯誤:靜脈OMNeT動脈安裝++

錯誤模塊(cModule)RSUExampleScenario (id = 1) setup:找不到類「Veins :: ObstacleControl」 也許它的代碼沒有鏈接到,或者類沒有用>Register_Class()註冊,或者在模塊和通道的情況下,使用>Define_Module()/Define_Channel()

我遵循的步驟是:

  1. 下載Vanetza(和所需的模塊)
  2. 構建Vanetza沒有錯誤
  3. 下載動脈
  4. 構建動脈喜歡與Vanetza沒有任何錯誤
  5. 將「Artery」文件夾和文件(示例,src,tests,Makefile,configure ...)複製到Veins文件夾中,覆蓋文件。
  6. 靜脈的構建是正確完成的,但兩者(動脈和靜脈)的執行都會失敗,並顯示錯誤。

實際上,如果我嘗試直接運行Artery代碼中的Artery或RSU示例,而沒有靜脈代碼(它看起來像動脈代碼已經靜脈靜脈),則會引發同樣的錯誤。

以前有人遇到過這個問題嗎?

+0

是的..在我的情況下,我不得不重新編譯Vanetza。如果我記得這是正確的,你可以在examples目錄中用「./run --h classes」列出所有註冊的類。 – Ventu

+0

這正是解決方案!重新編譯vanetza開始動脈的例子。 – user1166776

回答

2

首先,您不需要將Artery複製到靜脈並覆蓋任何文件,因爲您的假設是正確的:動脈的存儲庫包含完整的靜脈源,因爲動脈是建立在靜脈上的附加組件。 錯誤信息實際上有點誤導,但如果仔細查看完整的輸出日誌,您很可能會找到關於未定義的引用的一行,指出編譯後的二進制文件中實際上丟失了哪個符號。這通常是由Vanetza在調試模式和動態模式下建立的,反之亦然。