Omnet++5.6下扩展INET4.2移动模块出现inet/common/INETDefs.h未找到错误
OMNeT++ 5.6扩展INET 4.2模块
inet/common/INETDefs.h找不到问题解决方案 该报错本质是编译器未配置INET框架的头文件搜索路径,和代码的头文件引用语法无关,按以下步骤排查即可:
IDE开发环境(OMNeT++ 图形界面)
- 右键自定义项目,选择Properties(属性)
- 依次进入OMNeT++ → Project References(项目引用),勾选工作区中已导入的INET 4.2项目,保存后重新构建
- 若仍报错,进入C/C++ General → Paths and Symbols → Includes标签页,在GNU C++的包含列表中手动添加INET 4.2项目根目录路径,示例值为
${workspace_loc:/inet4.2}(替换为你本地的INET项目实际名称)
命令行编译环境
- 打开项目根目录下的
Makefile,找到INCLUDE_PATH变量,追加INET 4.2根目录的绝对路径,示例配置:INCLUDE_PATH += -I/home/yourname/dev/inet4.2 - 编译前确认已执行INET根目录下的环境变量配置脚本:Linux/macOS执行
source setenv,Windows执行setenv.cmd
注意禁止直接复制INET头文件到自定义项目目录,会触发后续库链接、符号定义冲突,必须通过路径引用调用INET的公共头文件。
你提供的自定义移动性模块代码语法逻辑正确,无需修改:
#ifndef CustomizedMobility_H_ #define CustomizedMobility_H_ #include "inet/common/INETDefs.h" #include "inet/mobility/single/TractorMobility.h" namespace inet{ class CustomizedMobility : public TractorMobility{ protected: virtual void setTargetPosition() override; virtual void move() override; Coord vLastPosition; }; }//ns inet #endif /* CustomizedMobility_H_ */
内容的提问来源于stack exchange,提问作者Safar Asaad
相关产品推荐
相关产品推荐

