NS3结合NetSimulyzer运行示例报错:找不到指定程序
解决NS3中运行mobility-buildings-example提示找不到程序的问题
排查与解决步骤
1. 核对示例文件的位置与命名
先确认mobility-buildings-example.cc是否存在于NetSimulyzer模块的示例目录中:
- 若模块放在
src目录,检查src/netsimulyzer/examples/;若放在contrib目录,检查contrib/netsimulyzer/examples/。 - Linux系统文件名区分大小写,确保命令中的
mobility-buildings-example与实际文件名完全一致。
2. 重新配置编译,确保示例被编译生成
NS3默认不会自动编译所有模块的示例,需重新配置并完整编译:
- 执行配置命令,确保启用示例编译:
./ns3 configure --build-profile=debug --enable-examples --enable-tests - 完整编译项目:
./ns3 build - 编译完成后,检查
build/contrib/netsimulyzer/examples/或build/src/netsimulyzer/examples/目录下是否生成了mobility-buildings-example可执行文件。
3. 使用模块限定名或完整路径运行示例
如果直接执行./ns3 run mobility-buildings-example无效,尝试以下两种方式:
- 用模块限定名运行:
./ns3 run "netsimulyzer-mobility-buildings-example" - 直接调用可执行文件:
./build/contrib/netsimulyzer/examples/mobility-buildings-example
4. 确认NetSimulyzer模块安装规范
确保模块以NS3 contrib模块的方式正确安装:
- 进入NS3根目录下的
contrib文件夹:cd ns-3-dev-git/contrib - 克隆仓库并重命名为
netsimulyzer:git clone https://github.com/usnistgov/NetSimulyzer.git netsimulyzer - 返回NS3根目录,重新配置编译。
5. 验证NS3与NetSimulyzer版本兼容性
部分NetSimulyzer版本仅支持特定NS3版本,查看NetSimulyzer的README文档,确认你使用的NS3版本(如3.38)在兼容列表内,若不兼容,切换到匹配的版本重新尝试。
内容的提问来源于stack exchange,提问作者Ito Joka
相关产品推荐
相关产品推荐

