问题标签 [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.
c++ - 如何通过 QBS 附加 PostgreSQL C 库?
我有一个项目应该使用 postgresql c-library (libpq) 并且项目已配置。如何配置 QBS 模块以将所有必需的标头和库导入项目?
qt-creator - 如何使用 qbs 在 Qt Creator 中指定远程目录(target.path)
我想使用 QBS 在 QNX 下的远程设备上部署文件进行构建。我想将它安装在/root/MyQbsInstallDir目录中。其中 MyQbsInstallDir 是通过qbs.installDir
.
但在 Qt Creator 的运行部分,我看到//MyQbsInstallDir作为远程目录。我试图指定qbs.installRoot:/root/
,但没有帮助。
我知道使用 qmake 可以设置
我怎样才能用 QBS 做到这一点?
qbs - Qbs中是否有办法自动列出所有子文件夹(通过在每个子文件夹上应用组属性)和文件只需提及根文件夹
我是 Qbs 的新手,正在尝试使用 Qbs 构建系统配置 BareMetal 项目。好吧,目前看起来必须使用组属性手动添加所有子文件夹。
对于大型项目来说,这是一项繁重的工作,并且在添加新文件或子文件夹时必须更新 Qbs 文件。
我只是想知道是否可以首先从根文件夹中获取所有子文件夹,然后遍历每个子文件夹并在每个子文件夹上应用组属性,同时应用排除文件等异常
对此的任何帮助将不胜感激。
c++ - 将应用程序构建为产品集合的一部分时出现错误“/usr/bin/ld:找不到库:文件格式无法识别”
我有一个 QBS 项目,它是子项目的集合,包括静态库、共享库和 Qt GUI 应用程序。Qt GUI 应用程序一直给我一个问题,即链接阶段失败,为项目链中较早构建的库抛出几个“/usr/bin/ld:找不到{library}:文件格式无法识别”错误。但是,它并不对所有库都这样做,包括与确实引发此错误的库具有几乎相同的 .qbs 文件的库。
奇怪的是,如果我自己构建应用程序,也就是说我从应用程序的项目目录中而不是在顶层运行 qbs,它构建得很好(假设依赖库都存在于它们的安装目录中)。我看到的主要区别是,在构建完整项目时,应用程序的 cpp.libraryPaths 对于项目中的所有产品都被忽略,并且应用程序尝试链接构建目录中生成的 lib 文件,而在构建应用程序时它自己的 cpp.libraryPaths 按预期使用,并且安装目录中的文件已成功链接。
我不知道为什么安装目录中的 lib 文件可以链接,而构建目录中的文件会引发错误。什么可能导致链接首先失败?此外,如何修复我的项目配置,以便我可以通过在顶层调用 qbs 来构建所有内容。我可能会以错误的方式处理这个问题吗?
这是我用来启动构建的命令:
以及问题的直观表示:
这是相关 qbs 文件的非常简化的复制
qmake - qmake system() 命令的 Qbs 模拟
在 中qmake
,有一个system()
函数,它只是运行您在编译时传递的命令。问题是:有没有qbs
类似的东西?Qbs Rule
/Artifact
方法是为不同的目的而设计的,对于简单的用例来说过于冗长
qbs - Qbs Depends Item 影响产品列表
假设我有一些包含大量子项目的项目,并且在大多数情况下,我只需要一次编译其中的几个:
假设plugin3
取决于plugin1
和plugin2
:
在这种情况下,我必须将plugins
属性设置为:
这是我想要避免的。所以,问题是:有没有办法让子项目依赖项自动添加为项目references
?
ps 还有一种替代方法可以使所有子项目都存在,但有条件地禁用。我可以通过依赖子项目以某种方式使它们启用吗?
qbs - qbs avr 编译
我尝试用 qbs 构建简单的项目
我得到错误
我错了什么?
文件 main.c 存在于项目和目录中。
如果我从命令提示符启动此命令,我不会收到错误消息。
qbs - Qbs:模块可以安装文件吗?
我想要一个模块,它将导出所有需要的依赖项,如包含路径、库路径,并将安装所需的运行时库。
一切正常,但未安装文件。有可能这样做吗?
更新 1:
文件已正确安装:
- 如果直接指定完整或相对路径(作为文字)
- 通过使用项目的属性。
工作解决方案:
但是当我尝试使用模块的属性时,它说:“参考错误:找不到变量:...”
此外,如果 FileInfo 模块用于构建路径,则不起作用。组外路径得到了正确解决。
结论
我找到了 2 个解决方案:
- 将路径编码为文字。便携解决方案
- 使用项目的属性。便携,但取决于项目项目。
我不知道为什么不能在组内使用模块的属性。是否有一些限制或这是一个错误?
qbs - Qbs:安装文件保留层次结构
我有一个目录,其中包含要与我的应用程序(qml 插件)一起部署的子目录中的文件。问题是:如果我尝试安装目录:
我得到一个“不递归地将目录 'mysrc/dir' 复制到目标目录 'mybuild' 中。而是安装单个文件工件。” 错误。
如果我尝试安装文件:
然后所有这些文件都进入同一目录,忽略层次结构(并且无法安装,因为其中一些共享名称)。
具有多个组的解决方案也过于冗长。
有没有办法递归地安装带有文件的目录,保留层次结构?
qbs - Qbs:安装步骤的规则
简而言之:是否可以使Rule
项目(或类似项目)在install
步骤中执行?
如此处所述,我在通过 item.xml 安装文件时遇到问题Group
。一个简单的Rule
脚本可能会做,但它必须在某个时候运行,最好是在安装期间。