2010-01-09 6 views

답변

9

죄송합니다. 테스트 할 VC++ Express가 없지만 Standard Edition에서는 프로젝트 속성 -> 구성 속성 -> C/C++ -> 코드 생성 -> 런타임 라이브러리를 사용합니다. Dll과 Dll Debug는 동적 연결을위한 것입니다.

7

100 % 확신 하시겠습니까? 런타임 라이브러리에 보안 취약성이있는 경우 Microsoft는 Windows Update를 통해 응용 프로그램을 패치 할 수 없다고 생각하십시오.

다른 해결책은 Visual C++ Runtime Redistributable을 응용 프로그램과 함께 패키지하는 것입니다. 매우 빠르게 설치되며 Visual Studio가 필요하지 않습니다. 또한 Visual Studio가 필요한 디버그 런타임 라이브러리에 링크 된 코드를 배포해서는 안됩니다. 재배포 가능 패키지 패키징에 대한 자세한 내용은 blog post을 참조하십시오.

EDIT : 그렇게 말하면, 그것은 당신에게 달려 있습니다. 필자의 요지는 단순히 사용자가 "일종의 VS 설치"를 가져야한다는 생각에만 기반하여 동적 연결을 무시해서는 안되며 이는 사실이 아닙니다.

+0

당신은 반대하지 말고 메모해라, 지금 당신은하지 않았다. : P – GManNickG

+7

정적 연결을 선호하는 데는 충분한 이유가 있습니다. 필자는 개인적으로 "내 성실성 유지"에 우선 순위를두고 있으며 이는 VC++ 런타임을 배포하기 위해 뛰어 내야한다는 요구와 호환되지 않습니다. – jalf

+0

@ Jalf - 환경 설정에 동의하고 절충점이 있습니다. 내 대답을 편집했습니다. –

3

이 질문에 대한 답변 : How do I make a fully statically linked .exe with Visual Studio Express 2005 ?을 참조하십시오. 그것은 VS2005 익스프레스에 대한 답변이지만 여전히 보유하고 있습니다. 는 C-런타임 프로젝트 설정으로 이동 들어

, C/C++ 다음 '코드 세대'를 선택합니다. '런타임 라이브러리'설정을 'multithreaded dll'대신 'multithreaded' 으로 변경하십시오.

다른 라이브러리를 사용하는 경우 동적 연결 CRT 을 명시 적으로 무시해야한다고 링커에 지시해야 할 수 있습니다.

0

대상 컴퓨터에 C 런타임 재배포 프로그램을 설치할 수 있으며 실행 파일은 동적으로 링크 된 C 런타임과 함께 실행될 수 있습니다.

(오, 죄송합니다. 이미 언급 했었습니다.)

관련 문제