다음을 통해 공유


/MD, /MT, /LD(런타임 라이브러리 사용)

다중 스레드 모듈이 DLL인지 여부를 나타내고 런타임 라이브러리의 정품 또는 디버그 버전을 지정합니다.

구문

/MD[d]
/MT[d]
/LD[d]

설명

옵션 설명
/MD 런타임 라이브러리의 다중 스레드별 및 DLL별 버전을 사용합니다. _MT_DLL를 정의합니다. 링커는 MSVCRT.lib 가져오기 라이브러리를 사용하여 런타임 기호를 확인합니다.
/MDd 런타임 라이브러리의 디버그 다중 스레드별 및 DLL별 버전을 사용합니다. _DEBUG, _MT_DLL정의합니다. 링커는 MSVCRTD.lib 가져오기 라이브러리를 사용하여 런타임 기호를 확인합니다.
/MT 런타임 라이브러리의 다중 스레드 정적 버전을 사용합니다. _MT정의합니다. 링커는 LIBCMT.lib 사용하여 런타임 기호를 확인합니다.
/MTd 런타임 라이브러리의 디버그 다중 스레드 정적 버전을 사용합니다. _DEBUG_MT를 정의합니다. 링커는 LIBCMTD.lib 사용하여 런타임 기호를 확인합니다.
/LD DLL을 만듭니다.

링커에 /DLL 옵션을 전달합니다. 링커는 DllMain 함수를 찾지만 이 함수가 꼭 있어야 하는 것은 아닙니다. DllMain 함수를 작성하지 않으면 링커는 TRUE를 반환하는 DllMain 함수를 삽입합니다.

DLL 시작 코드를 링크합니다.

명령줄에 내보내기(.exp) 파일이 지정되지 않은 경우 가져오기 라이브러리(.lib)를 만듭니다. DLL을 호출하는 애플리케이션에 가져오기 라이브러리를 연결합니다.

/Fe(이름 EXE 파일).exe 파일이 아닌 DLL 이름을 지정하는 것으로 해석합니다. 기본적으로 프로그램 이름은 basename.exe 대신 basename.dll이 됩니다.

/MD명시적으로 지정하지 않는 한 /MT를 의미합니다.
/LDd 디버그 DLL을 만듭니다. _MT_DEBUG를 정의합니다.

C 런타임 라이브러리 및 /clr(공용 언어 런타임 컴파일)사용하여 컴파일할 때 사용되는 라이브러리에 대한 자세한 내용은 CRT 라이브러리 기능참조하세요.

링커의 지정된 호출에 전달된 모든 모듈은 동일한 런타임 라이브러리 컴파일러 옵션(/MD, /MT, /LD)을 사용하여 컴파일되어야 합니다.

런타임 라이브러리의 디버그 버전을 사용하는 방법에 대한 자세한 내용은 C 런타임 라이브러리 참조참조하세요.

DLL에 대한 자세한 내용은 Visual Studio에서 C/C++ DLL 만들기를 참조하세요.

Visual Studio 개발 환경에서 이 컴파일러 옵션을 설정하려면

  1. 프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.
  2. 구성 속성>C/C++>코드 생성 속성 페이지를 선택합니다.
  3. 런타임 라이브러리 속성을 수정합니다.

프로그래밍 방식으로 이 컴파일러 옵션을 설정하려면

참고 항목

MSVC 컴파일러 옵션
MSVC 컴파일러 명령줄 구문
CRT(Great C 런타임) 리팩터링