在 biicode 中仅使用 header 个库
Using header only libraries in biicode
短:
如何使用 header 仅带 biicode 的库?
中等:
当我尝试构建一个块时,它包含示例目录,即使我尝试在已发布块的 biicode.conf 中明确设置依赖关系。
长:
我正在尝试使用 biicode 启动 unity 框架并 运行ning。
Unity 作为 C 的单元测试框架非常棒,因为您不需要编译任何库。如果你自己做模拟,你甚至不需要 运行 任何脚本——只有一个 .c
文件可以包含在你的编译中,你就是黄金。
我已经将 git 回购发布到我的 biicode 块 paulbendixen/Unity 并且因为除了 header 附带的 c 文件之外不需要任何编译步骤包括没有别的事可做。
但是,当我使用 #include "paulbendixen/Unity/src/unity.h"
包含文件时,在执行 bii cpp:build
:
时出现错误
Code.c:2:28: fatal error: ProductionCode.h: No such file or directory
#include "ProductionCode.h"
这在示例文件夹中,因此当我只想使用单元测试部分时不应编译。将 [dependencies] 更改为包含 unity.h = unity.c unity_internals.h
也无济于事。
我很确定问题应该在 Unity/biicode.conf
中得到解决,但我无法在任何地方找到此文件的完整描述。
Unity 库的简单性应该使其成为 bii 等构建系统的理想选择,但设置起来似乎相当复杂。
如果有帮助,我使用了简单布局和 -r [github for throwtheswitch]
选项
没那么简单。 Unity 使用 Rakefiles 构建和 运行 测试,它们有很多配置。要快速将其上传到 biicode,可以做的只是忽略测试并只发布文件。这可以通过编写一个 ignore.bii 文件来完成,其内容为:
docs/*
test/*
examples/*
*test*
关于 biicode.conf,唯一需要的配置是包含路径:
[paths]
src
extras/fixture/src
如果您 运行 $ bii deps --files *unity.h
,您可以检查是否不需要手动定义依赖项
有了这些更改,就可以发布了。无需构建。
然后,为了在其他项目中使用它,我已经能够构建简单的测试:
#include "unity.h"
void testTrue(void){
TEST_ASSERT(1);
TEST_ASSERT_TRUE(1);
}
int main() {
testTrue();
}
只需将以下内容添加到新项目的biicode.conf中:
[requirements]
diego/unityfork: 0
[includes]
unity.h: diego/unityfork/src
如果使用更典型的 CMake 配置而不是 Rakefiles
,制作 biicode 运行 并构建测试而不忽略它们可能会容易得多
短: 如何使用 header 仅带 biicode 的库?
中等: 当我尝试构建一个块时,它包含示例目录,即使我尝试在已发布块的 biicode.conf 中明确设置依赖关系。
长: 我正在尝试使用 biicode 启动 unity 框架并 运行ning。
Unity 作为 C 的单元测试框架非常棒,因为您不需要编译任何库。如果你自己做模拟,你甚至不需要 运行 任何脚本——只有一个 .c
文件可以包含在你的编译中,你就是黄金。
我已经将 git 回购发布到我的 biicode 块 paulbendixen/Unity 并且因为除了 header 附带的 c 文件之外不需要任何编译步骤包括没有别的事可做。
但是,当我使用 #include "paulbendixen/Unity/src/unity.h"
包含文件时,在执行 bii cpp:build
:
Code.c:2:28: fatal error: ProductionCode.h: No such file or directory
#include "ProductionCode.h"
这在示例文件夹中,因此当我只想使用单元测试部分时不应编译。将 [dependencies] 更改为包含 unity.h = unity.c unity_internals.h
也无济于事。
我很确定问题应该在 Unity/biicode.conf
中得到解决,但我无法在任何地方找到此文件的完整描述。
Unity 库的简单性应该使其成为 bii 等构建系统的理想选择,但设置起来似乎相当复杂。
如果有帮助,我使用了简单布局和 -r [github for throwtheswitch]
选项
没那么简单。 Unity 使用 Rakefiles 构建和 运行 测试,它们有很多配置。要快速将其上传到 biicode,可以做的只是忽略测试并只发布文件。这可以通过编写一个 ignore.bii 文件来完成,其内容为:
docs/*
test/*
examples/*
*test*
关于 biicode.conf,唯一需要的配置是包含路径:
[paths]
src
extras/fixture/src
如果您 运行 $ bii deps --files *unity.h
有了这些更改,就可以发布了。无需构建。
然后,为了在其他项目中使用它,我已经能够构建简单的测试:
#include "unity.h"
void testTrue(void){
TEST_ASSERT(1);
TEST_ASSERT_TRUE(1);
}
int main() {
testTrue();
}
只需将以下内容添加到新项目的biicode.conf中:
[requirements]
diego/unityfork: 0
[includes]
unity.h: diego/unityfork/src
如果使用更典型的 CMake 配置而不是 Rakefiles
,制作 biicode 运行 并构建测试而不忽略它们可能会容易得多