Visual Studio 높은 버젼에서 console 프로그램 구현해 컴파일 후 여러 PC에서 실행시켜보면
닷넷 프레임워크가 설치되어 있지 않는 곳에서msvcr100.dll 파일이 없다고 실행이 안되는 경우가 있다.

이유는 Visual Studio  프로젝트의 기본 설정값이 동적 라이브러리 링크로 설정되어 있어서
console 프로그램인 exe에 해당 dll 라이브러리가 포함되어 있지 않아
이를 참조하지 못하여 발생하는 에러이다.

Visual Stdio 2010을 기준으로 console 프로그램을 짤때 정적 라이브러리 방식으로 컴파일 하도록하면
dll 없어서 실행이 안되는 일을 방지할 수 있다.

방법1
1. Project → ??? Properties,,,  실행
2. Configuration Properties → C / C++ → Code Generation
3. Runtime Library 항목을 debug, release 모드에 맞게 수정
  - Debug    : Multi-threaded Debug DLL (/MDd) 에서 Multi-threaded Debug (/MTd)로 변경
  - Release  : Multi-threaded DLL (/MD) 에서 Multi-threaded (/MT)로 변경

다시 컴파일 해보면 exe 파일 크기가 이전보다 커져있으며,
dll 이 없이도 단독으로 실행이 가능해 집니다.


방법2
1. 재배포 가능 패키지를 설치한다.

+ Recent posts