2011-02-23 5 views
4

Eclipse 프로젝트가 있습니다. 모든 테스트 사례는 하나의 * .cpp 파일에 있습니다. 문제는이 두 가지 main() 함수로 끝나는 것입니다. 하나는 앱 자체 용이고 다른 하나는 테스트 사례 용입니다. 물론 이클립스는 빌드를 거부합니다 ... 저는 모든 것을 하나의 프로젝트로 묶고 싶습니다. (다중 구성, SVN 리포지토리 등을 피하십시오.) 이상적으로는 Eclipse에 강제로 두 개의 실행 파일 (앱용과 테스트 용)을 빌드하고 싶습니다. 이클립스 Makefile에 대해 간략하게 살펴 보았지만 솔직히 정확히 어떻게 작동하는지 이해하지 못합니다. Main.cpp/Testcases.cpp를 제외하고 하나의 실행 파일을 빌드하는 것은 가능하지만 매우 우아하지는 않습니다 ...gTest 및 복수 main()

비슷한 경험을 가진 사람이 있습니까?

답변

1

libgtest 외에 libgtest_main과 연결되어 있습니까? 당신이 libgtest_main에 링크하지 않으면 당신은 잘되어야합니다.

Eclipse CDT로 두 개의 실행 파일을 만들려면 가장 쉬운 방법은 각 실행 파일을 별도의 프로젝트로 만드는 것입니다. 공통 코드가있는 경우 한 프로젝트가 다른 프로젝트를 참조하도록 할 수 있습니다.

+1

Testcases.cpp가 포함 된 새 프로젝트를 만들고 기본 프로젝트의 src 및 include 폴더를 연결/참조 (테스트 프로젝트 빌드에서 Main.cpp를 기본 프로젝트에서 제외해야 함)했습니다. 감사. – Petr

5

매우 유용한이 링크를 우연히 발견했습니다 : http://pezad-games.googlecode.com/svn/trunk/GTestTest/HOWTO.

저자는 main() 메쏘드가있는 두 개의 소스 파일을 가지고있는 동안 하나의 프로젝트에서 gtest를 설정하는 방법을 설명합니다 : 하나는 "src"디렉토리에 있고 다른 하나는 "test"디렉토리에 있습니다. "GTEST"라고

그 때문에 그가 (DEBUG/RELEASE 이외의) 새로운 구성을 소개합니다 -이 구성의 모든 링커/헤더는 gtest 로 설정되어 포함하고 또한 SRC에/[주] .CPP에 제외 :

테스트/[main_test] .CPP을 제외 반대편 DEBUG & RELEASE의 CONFIGS에

빌드

에서 자원 제외 : MAIN.CPP에 대한

등록 >> C/C는 >> 빌드 설정 ++.