- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试在由 qbs 1.5.1、Qt 5.6.1、Qt Creator 4.0.1 生成的项目中使用多个库
我目前有几个关于 qt building suit 的问题。
第一个问题:如何重用属性字符串?例如,我尝试定义一个包含一些字符串属性的产品,并尝试在项目的其他地方重用这些属性。
// defines the qbs file in subfolder settings/settings.qbs
import qbs
Product
{
name: 'config'
property string p1 : 'path1' // <- define p1
property string p2: p1 + '/path2' // <- define p2
}
并尝试使用属性:
我。将 settings.qbs 添加到根 project.qbs
import qbs
import qbs.File
Project{
references:{
...,
"settings/settings.qbs"
}
}
二。在另一个文件夹中,该文件夹包含应用程序
// application/app.qbs
import qbs
CppApplication{
type: "application"
name: "myapp"
Depends {name: "cpp"}
Depends {name: "config"}
cpp.libraryPaths [config.p1, config.p2] // <- use p1 and p2 in a different qbs file
}
但是当我运行的时候
qbs debug
在存储库根目录中,属性字符串值为“未定义”。
第二个问题是相对路径。似乎我可以在 files:[] 中使用相对路径,但是当我在 cpp.dynamicLibraries 或 cpp.staticLibraries 中使用相对路径时,编译器无法根据相对路径找到库。但是,如果我使用绝对路径,它就可以工作。我错过了什么吗?
感谢您的帮助:)
荣
最佳答案
你不能引用那样的属性。您需要使用 QML 继承或导入 JavaScript 文件。例如,您可以将 JS 代码放入单独的 .js 文件中,然后将它们导入。
---helpers.js---
function planetsCorrectlyAligned()
{
// implementation
}
---myproject.qbs---
import qbs 1.0
import "helpers.js" as Helpers
Product {
name: "myproject"
Group {
condition: Helpers.planetsCorrectlyAligned()
file: "magic_hack.cpp"
}
// ...
}
此语法在 Qbs 文档中有详细说明:https://doc.qt.io/qbs/language-introduction.html#reusing-project-file-code
我不是在别处回答了图书馆的问题吗?另外,请不要在同一个帖子中添加多个问题;这不是 Stack Overflow 的工作方式。
关于linux - 关于库相对路径以及如何重用属性字符串的 qbs 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38365877/
我想使用 Qbs 编译现有项目。此项目已包含在此项目中大量使用的代码转换工具 (my_tool)。 到目前为止,我已经(简化): import qbs 1.0 Project { Applic
我创建了一个简单的控制台应用程序“Hello world”。首先,我用 qmake 编译它:hello.pro QT += core QT -= gui CONFIG += c++11 TARGET
我正在通过编译基于 Qt 的开源库来学习 Qbs。我将我的 Qbs 项目设置如下。 import qbs 1.0 Project { Product { name: "comm
我有这个简单的代码 import qbs Project { name: "simple_test" Product { name: "micro" type: "other"
迁移到 QBS 后,我的 QML 调试停止工作。 我确定: 我正在构建调试版本,C++ 调试有效 我在 qt creator 的“项目”选项卡中选中了“启用 QML 调试” 我什至尝试手动添加 qbs
迁移到 QBS 后,我的 QML 调试停止工作。 我确定: 我正在构建调试版本,C++ 调试有效 我在 qt creator 的“项目”选项卡中选中了“启用 QML 调试” 我什至尝试手动添加 qbs
在我的 qbs 文件中: import qbs Project { name: { console.info("Hello!"); return
我正在 QT 中构建一个程序,它需要一个用户可定义的运行配置文件,类似于 .vimrc。简而言之,它将需要定义哪些按键负责类似 curses 的界面中的基本命令。 我还没有完全决定使用什么格式,但我认
我有一个包含多个产品的项目,其中一些取决于生成的代码(cpp 和 hpp 文件)。此生成的代码是自依赖于作为 CppApplication 的 code_generator 产品。 我希望 code_
我正在尝试在由 qbs 1.5.1、Qt 5.6.1、Qt Creator 4.0.1 生成的项目中使用多个库 我目前有几个关于 qt building suit 的问题。 第一个问题:如何重用属性字
我尝试将现有项目从 qmake 移动到 qbs,到目前为止一切正常,但我无法链接到 MacOS 上该项目中的 google test 静态库,而在 Windows 上它工作正常。 在 MacOS 上我
我正在尝试在 Windows 10 x64 上使用带有 Qbs 的 clang 编译器编译我的项目。我使用QtCreator接口(interface)配置工具,出现错误Module cpp could
我有一个在我的 Qt 应用程序中使用的第三方预编译库 (.lib+.dll)。 在常规 (qmake) QtCreator 项目中,我的 .pro 文件中有以下几行: LIBS += -L$$PWD/
我正在使用 qtcreator 3.5.0 和 QT 5.5.0 的自定义构建我想用 qbs 和 qtcreator 来构建我的项目。因此,我创建了 qbs 配置文件,如 qbs manual 中所述
我正在使用 Xcode 9.4.1 和 Qt 5.11,目前有一个可用的 .pro 文件用于在 iOS 上运行我的 Qt 应用程序。 只是为了好玩,我想尝试 qbs,因为我真的很喜欢它的语法。我现在尝
尝试使用 qbs 收集 qutim 0.3.2 (qt5) 项目 ( https://github.com/euroelessar/qutim ): [22:30:49][anton@arch-Lap
我正在尝试使用 leap motion 库构建一个 qbs 项目,但在运行该项目时出现以下错误: dyld: Library not loaded: @loader_path/libLeap.dyli
我想知道在 linux 上使用 qbs 为 android 编译、构建和创建 Qt 应用程序的步骤。我拥有所有必要的工具,目前我可以使用 qmake 创建一个 apk。 最佳答案 Qbs 目前不支持构
我正在尝试实现我自己的模块以使用 clang-cl 工具链在 Windows 上构建 C++,因为目前 QBS 中没有内置支持。 我选择使用 lld-link 而不是 microsoft 链接器,因此
我已经在QtCreator中做了应用 我使用 QML 作为 GUI,我使用 QBS 作为构建系统 我希望能够将应用程序部署到 Windows(也许还可以部署到 Linux 和 MacOS,但现在,我只
我是一名优秀的程序员,十分优秀!