0

cmockery に出くわすまで、C コードでモック オブジェクトを作成する方法を探していました。私にとっては、依存関係があまりないため、利用可能な最高のモッキング ソフトウェアのようです。

私はubuntuで作業しており、https: //code.google.com/p/cmockery/downloads/listからtarball cmockeryをダウンロードしました

./configure、make、make install を実行しました。

与えられた例を実行することはできますが、自分のプロジェクトでそれを機能させる方法がわかりません。configure と makefile を見て、彼らがどのようにそれを行ったかを調べてみましたが、成功しませんでした。私の問題を引き起こしているのはリンクだと思います。

cmockery のファイルは次の場所にあります。

/usr/local/include/google/cmockery.h
/usr/local/lib/libcmockery.la
/usr/local/lib/libcmockery.a
/usr/local/lib/libcmockery.so.0.0.0
/usr/local/lib/libcmockery.so.0
/usr/local/lib/libcmockery.so

サンプルファイルのcalculator.cとcalculator_test.cを別のディレクトリにコピーして、そこでコンパイルしてみました。これは私がしたことです:

gcc -c -o calculator.o calculator.c 
gcc -c -o calculator_test.o calculator_test.c -I /usr/local/include/google/
gcc -o run *.o -L /usr/local/lib/

最後のステップで、cmockery に固有のすべての関数への多くの未定義の参照とエラーを取得しました。

collect2: error: ld returned 1 exit status

私はリンカーで物事を台無しにしていると思いますが、それを正しく行う方法がどこにも見つかりません。

4

1 に答える 1

1

あなたが行方不明-lcmockeryです:

gcc -o run *.o -L /usr/local/lib/ -lcmockery
于 2013-10-29T11:30:58.193 に答える