无法编译运行ns3教程示例fifth.cc、sixth.cc:头文件缺失报错
ns3运行fifth.cc/sixth.cc报错找不到tutorial-app.h的解决思路
问题本质:
tutorial-app.h不是ns3核心库自带的文件,它是ns3官方Tutorial章节里自定义的教程配套文件,和fifth.cc、sixth.cc是一套的,单独拿这两个.cc文件编译肯定找不到头文件。解决步骤:
- 补全配套文件
你需要手动创建tutorial-app.h和tutorial-app.cc,代码可以直接从官方Tutorial对应的章节里复制(教程里会逐步给出这两个文件的内容),把它们和fifth.cc/sixth.cc放在同一个目录下。 - 配置编译脚本
在该目录下新建或修改wscript文件,添加编译规则,示例代码:def build(bld): # 以fifth.cc为例,sixth.cc同理修改 obj = bld.create_ns3_program('fifth', ['core', 'internet', 'point-to-point']) obj.source = 'fifth.cc tutorial-app.cc' - 正常编译运行
在目录下执行./waf configure,再执行./waf build,之后就能运行生成的可执行文件了。
- 补全配套文件
额外检查项:
- 确认你克隆的ns3仓库是完整稳定版本:建议切换到ns-3.37、ns-3.38这类稳定分支,避免克隆的分支缺失教程相关内容。
- 不要单独复制fifth/sixth.cc到任意目录运行,必须保证配套的自定义文件和构建脚本都在同一目录。
内容的提问来源于stack exchange,提问作者user2820579
相关产品推荐
相关产品推荐

