2011-02-13 2 views
3

내 app/MT 컴파일 및 부스트 -mt-s 라이브러리 (다중 스레드 정적), 있지만 부스트 정규식 라이브러리 (버전 1.45)/MD 끌어 오기 것 같습니다 링커 오류를 일으키는 msvcrt.lib부스트 정적 정규식 msvcprt 끌어 오기

나는 /NODEFAULTLIB:msvcrt.lib를 사용하여 문제를 해결할 수 있지만 오히려 수정하려고합니다. 그것을 부스트에서 알려진 버그 또는 바보 같은 일을하고 있습니까?

관련 링커 (/ VERBOSE : LIB) 출력 :

/boost/stage/lib\libboost_regex-vc100-mt-s-1_45.lib 검색 : 검색 C : \ 프로그램 파일 \ 마이크로 소프트 비주얼 Studio 10.0 \ VC \ LIB \ msvcprt.lib :

검색된 라이브러리 LINK : 경고 LNK4098 : defaultlib 'MSVCRT'가 다른 라이브러리의 사용과 충돌합니다./NODEFAULTLIB 라이브러리를 사용하십시오 :

답변

-1

짧은 대답은 다중 스레드 정적 구성을 사용하지 않는 것입니다. Visual Studio의 최신 버전은 이것을 옵션으로 허용하지 않습니다.

+0

Visual Studio 2010으로 컴파일 중이지만 좋은 조언이 될 것입니다. 새 버전에서는 정적 연결이 허용되지 않습니다. – gavinandresen

1

나는 일반적으로 C#/Dot Net 개발자이지만 정적 부스트 라이브러리에 연결해야하는 기본 Windows C++ 프로젝트가 있습니다. 나는 응용 프로그램 (안전 관련)을 통해 DLL의/어셈블리를 사용하는 것을 선호하는 반면 그렇지 않으면 지시한다.

저는 Visual Studio 2010을 사용하고 있으며 처음에는 정적 부스트 라이브러리에 연결하는 데 어려움을 겪었습니다. 이 작업을 수행하는 유일한 방법은 새 Win 32 정적 라이브러리를 만들어 Boost 라이브러리와 상호 운용하는 것입니다.

관련 문제