2013-08-12 4 views
0

Visual C++ 프로젝트가 있습니다. boost_filesystem-vc110-mt-1_54.lib의 릴리스 버전을 디버그 모드로 사용할 수 없으며 boost_filesystem-vc110-mt-gd-1_54.lib를 계속 요청합니다. 디버그 모드는 디버그 라이브러리를 사용해야한다는 것을 알고 있지만 디버그 버전을 빌드하고 유지하고 싶지는 않습니다. 나는 런타임 라이브러리 설정을 시도했다.디버그 모드에서 부스트 라이브러리의 릴리스 버전 사용

어떻게 하시겠습니까?

+0

프로젝트의 디버그 버전과 함께 릴리스 빌드를 사용하겠습니까? –

+0

왜? 왜 이걸하고 싶어? – ST3

답변

1

짧은 대답 : 그렇지 않습니다. Boost는 Debug와 Release에서 다르게 작동하는 C++ 런타임의 부분을 사용하므로 결국은 likely to break이됩니다.

그러나 발로 쏘고 자하는 경우 : BOOST_ALL_NO_LIB 프리 프로세서 플래그를 설정하여 자동 연결을 방지 한 다음 수동으로 릴리스 바이너리에 직접 연결할 수 있습니다.

0

(ComicSansMS에서 말했듯이) 릴리스 런타임 라이브러리와 연결하고 디버그 런타임 라이브러리에 대한 링크를 빌드하기 때문에 실제로 디버그 빌드에서 Boost의 릴리스 버전을 사용하지 않아야합니다.

Boost의 릴리스 버전을 원한다면 (파일 시스템의 경우이 기능이 유용하지 않다는 점을 강조해야합니다.) 최적화되어 있지만 디버그 런타임과 연결되는 자체 컴파일해야합니다.

관련 문제