2015-07-10 73 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