VS编译USRP开源工具链时遇LNK1104与MSB3073错误求助
UHD+GNU Radio Windows编译INSTALL失败问题排查与解决
问题梳理
- 遵循官方指南构建工具链,一次性全量编译正常,无
LNK1104找不到uhd.lib的错误 - 单独编译
ALL_BUILD后执行INSTALL,触发MSB3073错误,脚本返回码1 - 已尝试:管理员运行VS、确认CMake无错误、更换虚拟机,问题未解决
- 疑问:PyBOMBS是否支持Windows
解决步骤
1. 抓出INSTALL的真实错误
MSB3073只是上层脚本的返回错误,真实原因被隐藏了,需开启详细日志:
- 右键
INSTALL项目 → 属性 → 配置属性 → 生成事件 → 后期生成事件 - 修改命令行,把输出定向到日志文件:
原脚本内容 > install_debug.log 2>&1 & type install_debug.log - 重新运行INSTALL,查看
install_debug.log里的具体报错(比如权限不足、文件缺失、路径错误)
2. 验证uhd.lib的生成与路径
- 编译
ALL_BUILD后,手动检查..\lib\Debug目录下是否存在uhd.lib:- 若不存在:右键UHD项目单独生成,排查UHD模块的编译错误
- 若存在:检查INSTALL脚本中的相对路径是否因VS工作目录异常导致解析错误,可尝试把项目移到非系统盘(如
D:\UHD_Build)重新CMake编译
3. 修正INSTALL的权限与路径问题
- 若项目放在
C:\Program Files这类系统保护目录,即使管理员运行也可能写入失败,直接把整个项目移到普通目录(如D盘根目录)重新构建 - 右键
INSTALL项目 → 属性 → 常规,确认输出目录是可写入的自定义路径,避开系统受保护目录
4. PyBOMBS Windows兼容性说明
PyBOMBS是为Linux生态设计的包管理工具,Windows下无官方支持:
- 存在大量依赖缺失、路径解析、编译脚本兼容问题,基本无法正常完成UHD+GNU Radio的构建
- 优先选择官方指南的手动编译,或直接使用Ettus提供的UHD预编译安装包、GNURadio官方Windows安装器
内容的提问来源于stack exchange,提问作者user27201869
相关产品推荐
相关产品推荐

