VisualStudio2010 및 CMake 2.8.12.1을 사용합니다. MFC 프로젝트 용 CMakeLists.txt를 만들었습니다. MFC 기능은 CMake 파일의 다음 줄에 따라 수행되었습니다.설명 할 수없는 오류 "_AFXDLL 빌드에/MD 스위치를 사용하십시오."
add_definitions(-D_AFXDLL) #enables MFC
set(CMAKE_MFC_FLAG 2) #use shared MFC library
또한 프로젝트는 MD로 런타임 라이브러리 (기본값)로 빌드됩니다. 하지만 지금은 내 프로젝트를 MT (정적 MFC 라이브러리를 지정해야 함)로 빌드하려고합니다.
가 는 치명적인 오류 C1189가: # 오류가 : 사용하십시오 _AFXDLL에 대한/MD 스위치가
을 구축 지금 내 프로젝트를 빌드하는 경우add_definitions(-D_AFXDLL) #enables MFC
set(CMAKE_MFC_FLAG 1) #use static MFC library
set(CMAKE_CXX_FLAGS_RELEASE "/MT") #set release configuration to MT
set(CMAKE_CXX_FLAGS_DEBUG "/MTd") #set debug configuration to MTd
, 나는 오류 메시지가 얻을 : 그래서 위에서 라인을 교체
내가 아는 한 이것은 MT/MD와 정적/공유 MFC 라이브러리 간의 불일치가 있다는 것을 의미합니다. 프로젝트 설정에서 구성을 다시 한 번 확인했습니다. 런타임 라이브러리 IS는 MT로 설정되고 MFC 라이브러리 IS는 정적으로 설정됩니다. 그래서 나는 그 오류를 이해하지 못한다. 아무도 도움을 알고 있습니까? 내가 뭐 놓친 거 없니?
안부, 마이클
이미 답변 됨 http://stackoverflow.com/questions/4229120/error-please-use-the-md-switch-for-afxdll-builds – xMRi
불행히도, 이것은 답변이 아닙니다. 내 질문에 언급 한 바와 같이 런타임 라이브러리 및 MFC 라이브러리 (!) 일관된 (MT + 정적) 설정하고 오류 메시지가 여전히 발생합니다. 그래서 제가 도움을 청합니다. – MichaelXanadu
내 대답에서 알 수 있듯이, 그렇지 않습니다;) – xMRi