我想使用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_ */
答案 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
的路径,这是构建静脉所需的路径。