2016-10-02 3 views
1

C++에서 개인 프로젝트를 만들려고 시도하면서 문제가 발생했습니다. 나는 리눅스 환경에서 프로젝트를 정상적으로 수행하지만 프로젝트가 Windows에서 작동하기를 원할 때 확신 할 수 없다. Windows에서 Clang을 다른 런타임과 연결하는 방법

불행히도 내가 사용하고 컴파일러, 연타, 날 다음과 같은 오류를 던지기 시작했다 : 나는 기본 컴파일러를 사용하고 난해야 런타임 연타를 구별하는 방법에 아무 생각이

libboost_filesystem-vc140-mt-1_61.lib(operations.obj) : error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MD_DynamicRelease' doesn't match value 'MT_StaticRelease' in buffer.obj 

문제가 해야 할 경우 지금은 clang-cl을 사용하고 싶지 않습니다.

Windows에서 Clang을 동적 런타임에 연결하는 올바른 방법은 무엇입니까?

답변

2

나는 링커가 불평하는 것을 어느 부분에서 막았는지 확실하지 않지만, 내 빌드 스크립트에서는 -D_MT -D_DLL을 컴파일러와 링커 옵션 중 두 가지로 지정했으며 링커는 기본 라이브러리를 비활성화해야했습니다. -Xlinker /NODEFAULTLIB) 링크 할 런타임 버전을 직접 지정하십시오 (필자의 경우 -lmsvcrt -lucrt -lmsvcprt -lvcruntime). 이 두 가지 변경 사항은 모든 연결 및 컴파일 오류를 중지 한 것 같습니다.

관련 문제