Ubuntu16.04编译Qt Creator4.1.0报qbs::Project无addFiles成员错误如何解决
问题原因
你遇到的编译报错是系统安装的qbs版本与Qt Creator 4.1.0依赖的qbs版本接口不兼容导致的:Qt Creator 4.1.0代码里调用的addFiles、removeFiles接口在你系统当前安装的qbs库中不存在,才会抛出类成员不存在的错误。
可行解决方案(按优先级从高到低排序)
方案1:编译时禁用qbs模块(最推荐,操作最简单)
绝大多数Qt Creator用户默认使用qmake/CMake等qbs以外的构建工具,禁用qbs模块完全不影响正常使用,直接避开兼容问题:
- 生成Makefile阶段替换原有qmake命令为:
qmake -r CONFIG+=disable_qbs - 后续照常执行
make、sudo make install即可完成编译安装。
方案2:使用Qt Creator源码绑定的对应版本qbs编译
如果需要使用qbs功能,不要调用系统独立安装的qbs,改用源码包自带的匹配版本qbs:
- 先回到qt-creator-opensource-src-4.1.0根目录,执行如下命令拉取绑定的qbs子模块:
若系统未安装git可先执行git submodule update --init --recursivesudo apt install git完成安装。 - 重新进入src目录执行
qmake -r、make即可,匹配版本的qbs不会出现接口不兼容问题。
方案3:手动打补丁适配当前系统qbs版本(不推荐,操作成本高)
如果一定要保留系统qbs版本同时保留qbs功能,可手动修改Qt Creator源码中qbsproject.cpp的相关调用逻辑,将废弃的addFiles、removeFiles接口替换为你当前qbs版本支持的对应接口即可,需要自行对照当前qbs版本的API文档调整代码。
内容的提问来源于stack exchange,提问作者Ritz98
相关产品推荐
相关产品推荐

