2010-01-15 2 views
8

부스트 테스트를 사용하여 코드에 많이 필요한 단위 테스트를 추가하려고합니다. 그러나 나는 그것이 작동하도록 할 수 없습니다. 바로 지금 다음과 같은 코드가 있습니다.Visual Studio에서 부스트 테스트 사용

내가 이해하는 것으로부터, 부스트는 스스로 처리 할 것이므로 메인이나 아무것도 넣지 않아도됩니다. 그러나 Visual Studio는 "엔트리 포인트를 정의해야합니다"라는 오류 메시지를 계속 표시합니다. 정적 라이브러리 또는 무언가에 대한 링크를 수동으로 추가해야합니까? 표준 .exe 콘솔 응용 프로그램으로 컴파일 중입니다.

답변

9

이 문제는 VS2010에서 발생했으며 솔루션은 '구성 등록 정보 -> 링커 -> 고급 -> 진입 점'을 프로젝트의 '기본'으로 설정하는 것이 었습니다.

+0

나는이 시간에 마침내 그 질문에 대한 답을 줄 수 있다고 믿을 수 없다. ^^. 고맙습니다! –

1

내 코드는 유사하며 정상적으로 작동합니다. 내가 볼 수있는 유일한 차이점은 내가 BOOST_AUTO_TEST_MAIN을 전혀 정의하지 않는다는 것입니다. BOOST_TEST_MODULE은 내가 알고있는 한 main을 어디에 정의 할 것인지 알려줍니다.

0

결국 정적 라이브러리 대신 동적 라이브러리로 boost.test를 사용하는 것이 효과적입니다.

16

/SUBSYSTEM : CONSOLE을 링커 플래그에 추가하십시오. 프로젝트 설정에서 이것은 링커 -> 시스템 페이지에 있습니다. boost는 동적 또는 정적 라이브러리로 사용할 수 있습니다.

+1

Google 테스트 라이브러리를 사용하고 gtest_main.lib에 연결하는 것과 같은 문제가있었습니다. 이렇게 수정되었습니다. – user75810

1

'구성 등록 정보 -> 링커 -> 고급 -> 진입 점'을 'mainCRTStartup'으로 설정합니다. (내 특정 빌드 구성에서는 정적으로 부스트 라이브러리를 연결합니다.)

+0

나만 도움이되었습니다. 감사합니다. – user2199593

관련 문제