1

短い:biicodeでヘッダーのみのライブラリを使用するにはどうすればよいですか?

: ブロックをビルドしようとすると、公開されたブロックの biicode.conf で依存関係を明示的に設定しようとしても、サンプル ディレクトリが含まれます。

Long : 私は、biicode を使用して、ユニティフレームワークを稼働させようとしています。

Unity は、ライブラリをコンパイルする必要がないため、C の単体テスト フレームワークとして優れています。独自のモックを作成する場合は、スクリプトを実行する必要さえありません.c。コンパイルに含めるファイルが 1 つだけで、最高です。

git リポジトリを自分の biicode ブロックpaulbendixen/Unityに公開しました。インクルードするヘッダーに付随する 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"

これはexamplesフォルダーにあるため、単体テスト部分を使用したいだけの場合はコンパイルしないでください。[依存関係] を含めるように変更しunity.h = unity.c unity_internals.hても、どちらも役に立ちませんでした。

この問題は で解決されると確信しUnity/biicode.confていますが、このファイルの完全な説明をどこにも見つけることができませんでした。

Unity ライブラリのシンプルさは、bii などのビルド システムに最適なはずですが、セットアップが非常に複雑に思えます。

それが役立つ場合は、単純なレイアウトと-r [github for throwtheswitch]オプションを使用しました

4

1 に答える 1

2

それほど単純ではありません。Unity は Rakefile を使用してテストをビルドおよび実行しますが、多くの構成があります。それを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

Rakefiles の代わりにより一般的な CMake 構成を使用した場合、biicode を実行してテストを無視せずにビルドする方がはるかに簡単でしょう。

于 2015-03-15T23:28:20.367 に答える