如何解决如何重用 Qbs 项目的属性?
CppApplication 和 DynamicLibrary 这两个项目如何重用基础产品项目中定义的属性?我似乎继承是一个解决方案,但检查 https://doc.qt.io/qbs/language-introduction.html#reusing-project-file-code 它没有帮助。 我想要这样的东西:
// common.qbs ------------------------------------
Product
{
Properties {
condition: qbs.toolchain.contains("clang")
cpp.defines: ["COMPILER_CLANG"]
}
Properties {
condition: qbs.toolchain.contains("gcc")
cpp.defines: ["COMPILER_GCC"]
}
Group {
name: "Common files"
files: [
"common.cpp","common.hpp",]
}
}
// project.qbs ------------------------------------
import "common.qbs" as Common
// app.qbs
CppApplication <inherits> Common
{
cpp.defines: outer.concat("APP")
}
// dll.qbs
DynamicLibray <inherits> Common
{
cpp.defines: outer.concat("DLL")
}
解决方法
没有多重继承,所以基本上你有两种选择:要么在两个产品都知道的项目中声明属性(例如顶级项目),要么使用项目特定的模块。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。