OSとアーキテクチャ、および開発/ビルドマシンにあるもののために単体テストライブラリをコンパイルする必要があるようです。これにはBoost++ユニットテストフレームワークが好きです。アーキテクチャ用に事前に構築されたものをダウンロードすることもできますが、通常は自分でコンパイルする必要があります。ブーストをクロスコンパイルする方法をグーグルで調べて、いくつかの解決策を見つけました(例: http: //goodliffe.blogspot.com/2008/05/cross-compiling-boost.html)。CppUnitはクロスコンパイルする方が簡単かもしれませんが、試したことはありません。一般的な原則は同じです。開発アーキテクチャとターゲットマシンに対して同じライブラリバージョンをコンパイルします。
新しいターゲットのセットアップでは、ターゲットOS /archに必要なBoost++ライブラリをコンパイルしてから、Boost++ライブラリとテスト対象のコードの両方に対してリンクするテストを記述します。
利点は、x86 Linux Boost++ライブラリまたはターゲットBoost++ライブラリに対してリンクできるため、ターゲットと開発/ビルドマシンの両方でテストを実行できることです。
私の一般的な設定は次のようになります。
libs/boost/<arch>/<boost libs>
src/foo.{cpp,h}
tests/test_foo.cpp
build/foo
build/test_foo.<arch>
コンパイルされたBoost++ライブラリを、すべてのプロジェクトのlibs / dirに必要なさまざまなアーキテクチャの下に置き、Makefileでそれらのライブラリを参照します。ソースとテストは、コマンドを作成するように指定されたarch変数を使用してビルドされます。これにより、開発マシンでtest_foo.x86を実行し、ターゲットでtest_foo。{arm、mips、ppcなど}を実行できます。