2012-08-07 54 views
1

我想在Mac NETBEANS運行一些測試用的CppUnit測試 - 獅子OS10x但之後,我嘗試編譯它,我得到這個錯誤:NetBeans的CppUnit的鏈接錯誤

/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

該鏈接器錯誤說沒有main()函數。您需要創建一個包含main()函數的獨立可執行文件來調用單元測試。

CppUnit是一個框架,但它不包含運行測試的實際可執行文件,您必須自行提供。這裏有一個非常簡單的例子:https://stackoverflow.com/a/9302288/99027