静脉文件无法找到其他静脉文件 - 没有此类文件或目录

时间:2015-07-10 08:27:30

标签: omnet++

我想使用Veins中的TraCIMobility.h更改一些SUMO变量以进行可视化。

构建项目时收到错误。 TraCIMobility.h无法找到BaseMobility.h,这也是静脉的一部分。静脉项目中是否存在一些问题?我再次构建它,但它无法找到自己的模块。我使用Project - > Properties - > Project References将Veins添加到了我的项目中。

这是错误:

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_ */

1 个答案:

答案 0 :(得分:1)

你没有说出你使用的Veins版本,所以我假设最新的Veins 4a2。在这里,您需要指定包含路径,如此

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

澄清一下:opp_makemake的--meta:auto-include-path选项将始终生成-I包含路径,其中包含所有缺少的组件以使包含工作(即写入{{1}将产生#include "traci/TraCIMobility.h")的编译器标志,但是没有添加{Veins root的-I..../veins/src/veins/modules/mobility包含路径,工作中没有包含。通过指定文件的完整路径(相对于静脉的源根),您迫使opp_makemake生成-I包含-I的路径,这是构建静脉所需的路径。

相关问题