일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- openCV
- Statistics
- 김양재
- 확률
- 통계
- 딥러닝
- c++
- 우리들교회
- MongoDB
- data science
- Big Data
- 몽고디비
- WebGL
- Deep learning
- 데이터 과학
- R
- 빅데이터
- 김양재 목사님
- nodeJS
- probability
- No SQL
- Machine Learning
- 주일설교
- 빅 데이터
- 인공지능
- 빅데이타
- 빅 데이타
- Artificial Intelligence
- node.js
- 김양재 목사
- Today
- Total
Scientific Computing & Data Science
[C/C++] 수동으로 구성해 본 VC++프로젝트 설정: ReleaseMinDependency 본문
[C/C++] 수동으로 구성해 본 VC++프로젝트 설정: ReleaseMinDependency
cinema4dr12 2014. 6. 19. 15:39Visual Studio 2005 까지였나요? ATL 프로젝트를 만들면 ReleaseMinDependency 빌드 타입이 있었습니다. 그 옵션을 선택하고 빌드하게 되면 생성된 DLL 하나만 배포해도 문제없이 실행되는, 작은 유틸리티 성격의 DLL을 배포할 때는 나름 유용한 선택일 수 있었는데.
2008부터 그 옵션이 보이질 않습니다. 문득 그 시절이 그리웠던 성태, ^^ 수 작업으로 빌드 옵션을 조정해 보기로 했습니다.
일단, 기본적인 ATL 프로젝트를 만들어서 Release 빌드를 하면 (Visual Studio 2008 기준으로) "ATL90.dll", "MSVCR90.DLL"에 의존하게 됩니다.
먼저, "ATL90.dll"에 대한 의존을 제거시켜 볼까요? 간단하지요. ^^ 다음과 같이 프로젝트 속성 창에서 "Use of ATL" 옵션을 "Static Link to ATL"로 선택해 주면 됩니다.
[그림 1: "Use of ATL: Static Link to ATL"]
문제는 MSVCR90.dll 인데요. 이건 좀 꼭꼭 숨겨져 있습니다.
Configuration Properties / C/C++ / Code Generation 설정에서 아래 그림과 같이 "Runtime Library" 옵션을 "Multi-threaded (/MT)" 로 선택하면 됩니다.
[그림 2: "Runtime Library: Multi-threaded (/MT)"]
이제, 빌드하고 해당 DLL 파일을 depends.exe에서 확인하면 다음과 같이 ^^ 깔끔한 의존관계를 지닌 것을 확인할 수 있습니다.
[그림 3: atl90.dll / msvcr90.dll 에 대한 의존성이 없는 testatl.dll]
Debug 빌드도 위와 동일하게 의존관계를 끊어낼 수 있는데, 단지 다른 점은 "Runtime Library" 만 "Multi-threaded Debug (/MTd)"로 선택해 주시면 됩니다.
'Programming > C&C++' 카테고리의 다른 글
[C/C++] MFC / Edit Control 박스 입력 가능 글자수 제한하기 (1) | 2014.07.07 |
---|---|
[C/C++] MFC / 디스크 공간 정보 출력하기 (0) | 2014.06.24 |
[C/C++] Example / ArrayList (0) | 2014.06.15 |
[C/C++] MFC / CImage 클래스를 이용한 다양한 포맷의 이미지 출력 (0) | 2014.06.15 |
[C/C++] MFC / 비트맵 출력하기 (0) | 2014.06.14 |