1

MacのNETBEANSでcppUnitテストを使用していくつかのテストを実行しようとしています-LionOS10xですが、コンパイルしようとするとこのエラーが発生します:

/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
"/usr/bin/make"  -f nbproject/Makefile-Debug.mk dist/Debug/GNU-MacOSX/xxx
make[2]: `dist/Debug/GNU-MacOSX/xxx' is up to date.
"/usr/bin/make" -f nbproject/Makefile-Debug.mk SUBPROJECTS= .build-tests-conf
"/usr/bin/make"  -f nbproject/Makefile-Debug.mk dist/Debug/GNU-MacOSX/xxx
make[2]: `dist/Debug/GNU-MacOSX/xxx' is up to date.
mkdir -p build/Debug/GNU-MacOSX/tests/TestFiles
g++       -o build/Debug/GNU-MacOSX/tests/TestFiles/f1 build/Debug/GNU-MacOSX/newmain_nomain.o   
-lcppunit -lcppunit -lcppunit 
Undefined symbols for architecture x86_64:
  "_main", referenced from:
   start in crt1.10.6.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[1]: *** [build/Debug/GNU-MacOSX/tests/TestFiles/f1] Error 1
make: *** [.build-tests-impl] Error 2

BUILD TESTS FAILED (exit value 2, total time: 11s) 

誰かがこのエラーを解決する方法を教えてもらえますか?

4

1 に答える 1

1

そのリンカエラーは、main()関数がないことを示しています。単体テストを呼び出すには、main()関数を含む別の実行可能ファイルを作成する必要があります。

CppUnitはフレームワークですが、テストを実行する実際の実行可能ファイルは含まれていません。自分で提供する必要があります。これは非常に簡単な例です:https ://stackoverflow.com/a/9302288/99027

于 2012-08-09T21:07:22.233 に答える