0

Eclipse で組み込み TDD 環境をセットアップしようとしています:

  • GNU-ARM クロス コンパイル用に設定されたアプリケーション プロジェクト
  • Cygwin 経由で CppUTest をビルドする CppUTest プロジェクト (うまく機能)
  • 単体テスト、テスト グループ、テスト ランナーを格納するテスト プロジェクト

私が抱えている問題は、テスト プロジェクトが単体テストを .o ファイルにビルドするが、テスト済みの .h/.c ファイルをビルドしないため、不足しているオブジェクトへの未定義の参照でリンカーが失敗することです。

Application プロジェクトのオブジェクト ファイルやそのプロジェクトのビルドに依存することはできません。なぜなら、これらは ARM EABI オブジェクトにクロス コンパイルされているからです。アプリケーション プロジェクトのソース ファイルもビルドするために、テスト プロジェクトが必要です。Eclipse にこれを行うように指示する方法はありますか? または、テスト済みファイルをテスト プロジェクト内のソース ツリーにコピーするために、ビルド前のスクリプトを設定する必要がありますか?

4

1 に答える 1

0

テスト プロジェクト --> プロパティ --> C/C++ 一般 --> パスとシンボル --> ソースの場所の下にあるテスト プロジェクトのソースの場所のリストに、アプリケーション プロジェクトのソース ツリーをリンクすることで、これを機能させることができました。

このアプローチの欠点は、アプリケーション プロジェクトとテスト プロジェクトの両方が Eclipse ワークスペース内にない限り、ソースの場所を追加するために絶対パスが必要になることです。

于 2012-11-13T22:49:10.653 に答える