Cアプリケーションのテストにチェックフレームワークを使い始めました。理解を深めるために、チェックパッケージの例を調べました。正常に動作していますが、自動作成ツールは必要ありません。自分のMakefileでコンパイルしたいと思います(チェックを正しく理解し、最終的なアプリケーションをOSのパッケージとして使用する必要があるため)。自動生成されたMakefileをそこで使用できるかもしれませんが、今のところ、それは私が学ばなければならない次の1つの新しいことであり、単体テストの準備に時間を制限しています。(もちろん、Makfileを生成したり、configureを使用したりするためのツールを研究して理解したいと思います。)
Makefileを使用してアプリケーションを構築する際に、チェック機能のためにオブジェクトをリンクしていないという問題があります。
/tmp/ccm7cniy.o: In function `test_money_create':
check_money.c:(.text+0x1e): undefined reference to `tcase_fn_start'
check_money.c:(.text+0x79): undefined reference to `_fail_unless'
check_money.c:(.text+0xcc): undefined reference to `_fail_unless'
サンプルアプリケーションでは、objを含むgccであることがわかりました。check_money-check_money.o
gccによって作成されたファイル:
gcc -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT check_money-check_money.o -MD -MP -MF .deps/check_money-check_money.Tpo -c -o check_money-check_money.o `test -f'check_money.c' || echo './'`check_money.c
そしてここに私の問題があります:それは依存関係を使用しますcheck_money-check_money.Tpo
。./configure
このファイルは、私が使用していないコマンドによって生成されていました。
チェック用に独自の.o
ファイルを作成して正常にビルドするにはどうすればよいですか?アプリケーションごとにこのファイルを作成する必要がありますか?共有ライブラリのどこかで1つになることはできませんか?
(私の質問が「ばかげている」場合は申し訳ありませんが、Linuxでアプリケーションを構築した経験はまだ少ないです)