Visual Studio 2010 이상 버전에서 작성된 실행파일을 실행시킨다면
닷넷 프레임워크가 설치되어 있지 않은 환경에서는 DLL파일이 없다는 에러가 뜬다. (msvcr100.dll 등)
그 이유가 궁금해서 구글에 검색해본 결과
Visual Studio Project의 기본 설정값이 "동적 라이브러리" 링크로 설정되어 있어서 콘솔 프로그램인 exe에 해당하는 dll 라이브러리가 포
함 안되어 있어서 참조 못하는 에러라고 한다.
Visual Stdio 2010 에서 콘솔 프로그램을 만들때 "정적 라이브러리" 방식으로 컴파일 하도록하면 dll 오류를 방지할 수 있다.
방법1
1. 프로젝트 → 프로젝트 속성
2. 구성속성 → C/C++ → 코드생성
3. "런타임 라이브러리" 항목을 debug, release 모드에 맞게 수정
- Debug : 다중 스레드 디버그 DLL (/MDd) 에서 다중 스레드 디버그 (/MTd)로 변경
- Release : 다중 스레드 DLL (/MD) 에서 다중 스레드 (/MT)로 변경
컴파일을 다시 하면, exe 파일에 dll이 포함된다.
당연히 exe 파일의 크기는 증가한다 (생각보다 많이 커진다)
방법2
1. 재배포 가능 패키지를 설치한다. (dll 파일 검색해서 설치)