微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何重用 Qbs 项目的属性?

如何解决如何重用 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 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?