2015-07-10 76 views
1

我想使用來自靜脈的TraCIMobility.h來更改一些SUMO變量以進行可視化。靜脈文件找不到其他靜脈文件 - 無此文件或目錄

構建我的項目時出現錯誤。 TraCIMobility.h找不到BaseMobility.h,這也是靜脈的一部分。 Veins項目裏面有一些問題嗎?我再次構建它,但它找不到它自己的模塊。我使用Project - >Properties - >Project References將我的項目添加了靜脈。

這是錯誤:

10:12:16 **** Incremental Build of configuration gcc-debug for    project CloudBasedCSW **** 
make MODE=debug CONFIGNAME=gcc-debug all 
cd src && make 
make[1]: Entering directory `/c/work/Cloud_Curve_Speed_Warning/trunk/src/CloudBasedCSW/src' 
visualization/Visualization.cc 
In file included from ./visualization/Visualization.h:19:0, 
      from visualization/Visualization.cc:16: 
C:/Tools/veins/src/veins-3.0/src/modules/mobility/traci /TraCIMobility.h:31:26: fatal error: BaseMobility.h: No such file or directory 
make[1]: Leaving directory `/c/work/Cloud_Curve_Speed_Warning/trunk/src/CloudBasedCSW/src' 
compilation terminated. 
make[1]: *** [../out/gcc-debug/src/visualization/Visualization.o] Error 1 
make: *** [all] Error 2 
10:12:17 Build Finished (took 726ms) 

這是標題,其中包括TraCiMobility.h

#ifndef VISUALIZATION_H_ 
#define VISUALIZATION_H_ 
#include <omnetpp.h> 
#include "modules/mobility/traci/TraCIMobility.h" 
class Visualization: public cSimpleModule{ 
public: 
    Visualization(); 
    virtual ~Visualization(); 
    void initialize(); 
    void handleMessage(cMessage *msg); 
    void setIce(std::string laneId); 
    void removeIce(std::string laneId); 
}; 
#endif /* VISUALIZATION_H_ */ 
+0

靜脈版本:veins-3.0 – Alex

回答

1

你沒有說哪個脈您使用的版本,所以我假設最新的,靜脈4a2。在這裏,你將需要指定包括像這樣

#include "veins/modules/mobility/traci/TraCIMobility.h" 

要澄清的途徑:--meta:auto-include-path選項opp_makemake總是會生成一個-I包括路徑,包括所有缺少的組成部分,使包括工作(即,只要寫入#include "traci/TraCIMobility.h"就會產生一個編譯器標誌-I..../veins/src/veins/modules/mobility),但是如果不添加包含通向靜脈根部的路徑的-I,則不會有任何工作中的包含。通過指定文件的完整路徑(相對於Veins的源根目錄),您迫使opp_makemake生成一個-I包含路徑-I..../veins/src,這是構建靜脈所需的路徑。

+0

我正在使用靜脈-3.0。 #include「veins/modules/mobility/traci/TraCIMobility.h」是我的項目中未解決的內容。 – Alex

+0

在這裏,適用相同的邏輯。如果你想讓opp_makemake爲某個文件添加一個'-I'包含路徑,只需將它包含在你項目的某個地方即可。在你的情況下,在文件中加入#include「BaseMobility.h」和'#include「modules/mobility/traci/TraCIMobility.h」'將生成必要的'-I'節。 –

+0

#include「BaseMobility.h」解決了這個問題 – Alex