gpt4 book ai didi

c - 在 biicode 中使用仅 header 库

转载 作者:太空宇宙 更新时间:2023-11-04 02:44:08 25 4
gpt4 key购买 nike

:如何将仅 header 库与 biicode 一起使用?

中等:当我尝试构建一个 block 时,它包含示例目录,即使我尝试在已发布 block 的 biicode.conf 中明确设置依赖项。

:我正在尝试获取 unity使用 biicode 启动并运行框架。

Unity 非常适合作为 C 语言的单元测试框架,因为您不需要编译任何库。如果你自己做模拟,你甚至不需要运行任何脚本——只有一个 .c 文件可以包含在你的编译中,你是黄金。

我已将 git 存储库发布到我的 biicode block 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 运行和构建测试而不忽略它们可能会容易得多

关于c - 在 biicode 中使用仅 header 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29063903/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com