netbeans cppunit链接错误

时间:2012-08-07 22:01:09

标签: netbeans cppunit build-error

我试图在Mac上的NETBEANS上使用cppUnit测试运行一些测试 - Lion OS10x但是在我尝试编译它之后我收到了这个错误:

/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) 

有人能告诉我如何解决这个错误吗?

1 个答案:

答案 0 :(得分:1)

该链接器错误表示没有main()函数。您需要创建一个单独的可执行文件,其中包含一个main()函数来调用单元测试。

CppUnit是一个框架,但它不包含运行测试的实际可执行文件,您必须自己提供。这是一个非常简单的例子:https://stackoverflow.com/a/9302288/99027