问题标签 [qbs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
cmake - qbs 找不到子模块的输出(使用 cmake 构建)
我有一个由 cmake 构建的子模块,并在 qbs 脚本中成功构建它(见下面的代码)。
但是,有时 qbs 会删除“lib1static”和“lib2static”,并且在链接时出现此错误:
我试图调试,但仍然不知道为什么。第一次构建可以成功,所有输出库都已构建,但在下一次构建中,所有库都消失了。
这里的任何人都可以解释并告诉我这种情况下哪个是最佳实践吗?
arm - Qbs:在构建 arm 目标时运行 googletests
我使用 qbs(在 Qt Creator 中)构建我的 STM32 项目并使用 baremetal 插件上传它。而且效果很好。
但我也对固件中使用的库进行了测试。当然,我想构建和运行它们。
现在我需要准备另一个为 Windows/Linux/MacOS 配置的项目来运行测试。所以我需要在项目之间切换以在我的板上进行测试或调试。
是否有可能在一个 qbs 项目中结合 2 个具有不同架构目标的子项目?
任何建议或技巧都非常感谢。谢谢你。
qt - 不能在新的 qbs 版本 (1.12) 中包含静态库
请帮我。
我之前有一个用 qt 构建的静态库,它使用 Qt 库。下一个应用程序可在qbs 1.11版本中编译,并且不在新的qbs 1.12中:
在链接步骤中,它会出现多个错误,如下所示:
... ETC。
模块mylib看起来像:
这是一个错误,还是我需要做一些更正?
尝试在 Windows 10(64 位)上分别使用 Qt Creator 4.6 和 4.7 rc 链接新旧 qbs 版本。
windows - 在 Windows 10 的 Qtcreator qbs 文件中导入 OpenCV .lib
我需要在 Windows 中使用 Qbs 和 QML 的 Qt 应用程序中使用 OpenCV
我正在使用随 Qt 5.11 安装的 MVSC2017(64 位)编译器
我有 OpenCV 3.41(我必须链接到 opencv_world341.lib)
我知道它在 C:\opencv\build 中,但据我了解 Qbs,我不能使用来自 'C:' 的路径(如果我在这里错了,请告诉我)
我无法更改为 (C|Q)make,因为我需要使用 qbs 和 qml 文件将此应用程序中的功能集成到更大的应用程序中
我尝试使用
../
我从包含 qbs 文件的目录开始确定了 git bash 的数量
但我得到了错误
我在 Qbs 文件中做错了吗?
我知道opencv安装有效,因为我在visual studio community 2017中使用它来测试它
ios - 在 iOS qbs 项目中包含 AVFoundation
我正在使用 Xcode 9.4.1 和 Qt 5.11,目前有一个工作 .pro 文件用于在 iOS 上运行我的 Qt 应用程序。
只是为了好玩,我想尝试 qbs,因为我真的很喜欢它的语法。我现在尝试编写一个反映我的 .pro 文件的 .qbs 文件。
一切都编译得很好,但是在尝试运行 ios-simulator 时链接我遇到以下问题(对于 ios 类似,但具有不同的架构):
我在 .pro 文件中包含框架的操作是:
对于我写的 .qbs:
我已经被这个问题困扰了几个小时,并且很难在网上和 Github 上找到类似的 qbs 文件用法。谁知道为什么链接器找不到框架?
编辑
我尝试使用 qbs 创建一个新项目,但遇到了类似的问题。这是完整的构建日志:
我为 macos 和 ios 安装了 Xcode 9.4.1,然后是 Qt 5.11。
编辑2
它在桌面上构建良好,但是当我切换到 ios 或 ios-simulator 时,我在 .qbs 文件中收到此警告:
编辑3
这是我对相关套件的 qbs 设置:
android - Qt QBS 和安卓
我正在尝试找到一个简单的教程:如何使用 gbps 为 android 制作一个简单的应用程序。找到以下链接:
- 堆栈提供流。虽然cbs的版本已经更新到1.11并且包含了对android的支持,但是还没有收到这个问题的答案。
- QBS 文档中的 AndroidApk 项。在这种情况下,我会收到警告:
'../Application/src/main/AndroidManifest.xml' does not exist.
不幸的是,我找不到任何新信息。我寻求帮助。
更新: 对于 Qmake,我只创建像这样的标准小部件项目:
这是有效的并且构建良好。QtCreator 自动创建所有必要的文件,然后在我的手机上运行应用程序
在 Qbs 中,我尝试制作相同的应用程序。出于这个原因,我有 QBS 文件:
最后,我完成了 HelloWorld 产品 (libhelloworld.so)。但“helloworld_android”的第一个错误是 android manifest 失败。该文件未定义。我接下来应该做什么?
qt - 对于 QBS,我将在我的 DynamicLibrary{} 中设置哪些参数以在构建时安装标头和库?
我正在将我的 Qt 库从 qmake 迁移到 qbs,并且我正在尝试找到一个体面的模板来帮助我了解简化所述库的构建和安装所需的参数。
目前,我的一个库的 qbs 文件如下所示:
安装比较简单。
我只想要一个放置在/usr/include/qconsoledesigner
和.so
安装在
/usr/share/qconsoledesigner
c++ - QBS .../install-root/MyProject:加载共享库时出错:foobar.so:无法打开共享对象文件:没有这样的文件或目录
问题是在qbs中解决这个问题:
这是一个由 QtCreator 生成的文件。我添加了
在
这是 main();
一切都很好。运行会产生此错误:
在我将该 .so 物理复制到我的安装根目录之前,我知道必须有一个可以设置的 QBS 属性。
我曾尝试在https://doc.qt.io/qbs/qml-qbsmodules-cpp.html中使用各种与路径相关的属性,但我在黑暗中摸索。
谢谢。
c++ - QBS为静态链接MSVC创建静态库
我需要将应用程序构建为带有 boost 的独立模块(已经在带有 /MT 标志的静态模式下编译)。使用 Visual Studio 17(MSVC) 我的项目由一个静态库和一个控制台应用程序组成。
cpp.cxxFlags: ['/MT']
附加额外的参数,但我需要替换标志。任何想法我该怎么做?
qt - QBS:在 Products 中显式设置 qbs.profiles 导致构建失败
我的用例是这样的:
我有一个静态库,我希望它可用于某些配置文件(例如“gcc”、“arm-gcc”、“mips-gcc”)。
我还有一个链接到这个库的应用程序,但是这个应用程序只能使用特定的配置文件(例如“arm-gcc”)构建。
为此,我正在修改 app-and-lib QBS 示例。
lib.qbs 文件:
app.qbs 文件:
应用程序构建失败。Qbs 错误地尝试链接到库的“gcc”版本而不是“arm-gcc”版本,如您在日志中所见:
仅当在 app.qbs 文件中选择一个配置文件时,构建才会失败,并且此配置文件不应是 lib.qbs 文件中 qbs.profiles 行中的第一个配置文件。
选择两个或更多配置文件时 - 构建成功。
我的分析:
我认为这个问题与多路复用有关:
lib.qbs 包含多个配置文件。这会在构建库时打开多路复用,进而multiplexConfigurationId
在构建目录名称 ( moduleloader.cpp
) 中添加额外的 ' '。
app.lib 仅包含一个配置文件,因此未打开多路复用并且构建目录名称不会获得额外的字符串。
该问题可以通过更改代码moduleloader.cpp
(
这适用于我的用例。我不知道从更广泛的角度来看它是否有意义。
最后,问题:
这一切都有意义吗?
这是正常行为吗?
根本不支持这个用例吗?
有更好的解决方案吗?
提前致谢。