|
|
글을 다 날려서 다시 적는다. !! (2009-05-06에 날림)
2008/04/01 14:43 원본보기
Win32 Static Library | Software sagidong@gmail.com
Win32 Static Library 생성#
- Project 생성
-
옵션을 선택 후 Finish~
Preo-compiled header : 컴파일 속도를 증가시킨다
MFC support : 말 그대로 MFC 관련 서포트
Win32 Static Library 제작#
- 새로운 파일을 생성하여 Library 를 제작한다
- Build 를 한다
Win32 Debug : Debug 모드로 , 디버그 할 때 사용하는 모드
Win32 Release : Release 버젼. Lib 를 보낼 때 사용하는 모드 ( Lib 가 제작이 끝났을 때 선택하면 됨 )
해당 선택 모드가 안 나왔을 때는 Build 도구상자를 확인 한다.
Build 시
- unexpected end of file while looking for precompiled header directive
에러가 발생하면 precompiled header 를 추가 한다.
혹시라도 파일 확장자가 .c 일 경우 에는 다음과 같은 에러가 발생한다.
- 'Release/StaticLibMakeTest.pch' is not a precompiled header..
이럴 때에는 확장자를 .cpp로 변경 해줘야 한다.
Win32 Static Library 배포#
-
Debug 모드나 Release 모드로 Build 를 하면 해당 폴더에 xxxx.lib (Lib 파일) 가 생성 된다.
- Lib 에게 필요한 함수나 #define 의 Lib header file 을 생성 후 배포 한다
- #define TRUE 1
#define FALSE 2
extern BOOL test(int i );
-
xxxx.Lib 와 xxxx.h 를 배포 ~
Win32 Static Library 사용#
- Library 를 사용할 응용 프로그램에서 Lib 파일을 추가한다.
- Library 의 header file 을 include 시킨다
- #include "xxxx.h"
-
Library 를 잘 사용한다
이슈 및 문제점 해결#
-
DLL 과 LIB 의 차이#
- 동일한 프로젝트를 컴파일 했을 시에 static lib 를 사용하는 실행파일의 size가 DLL을 사용하는 파일보다 크다 ( DLL 자체 size 와 LIB 자체 size 는 비슷 함 )
- F11 ( Step Into) 로 Trace 했을 때 LIB 는 원소스 쪽으로 수행이 옮겨가서 볼 수 있다.
하지만 DLL 은 F11 ( Step Into ) 를 했음 에도 불구하고 그냥 Skip 된다. - 참고 : 확장 DLL 만들기 & static Lib 만들기
-
Build 도구상자를 확인#
- Build MiniBar 도구상자와 Build 도구상자 2가지 도구 상자를 지원. Build 도구 상자를 추가 한다.
- Build MiniBar 도구상자와 Build 도구상자 2가지 도구 상자를 지원. Build 도구 상자를 추가 한다.
-
precompiled header 를 추가#
- VS6 는 컴파일 속도를 높이기 위해서 precompiled 를 지원한다.
새로운 파일을 생성시에는 #include "StdAfx.h" 를 추가 해줘야 한다
에러 구문 : unexpected end of file while looking for precompiled header directive...
- VS6 는 컴파일 속도를 높이기 위해서 precompiled 를 지원한다.
-
확장자를 .cpp로 변경#
-
.c 로 소스를 작성시 다음과 같은 에러가 발생한다.
해당 파일을 .cpp 로 변경해야 한다
에러 구문 : 'Release/StaticLibMakeTest.pch' is not a precompiled header..
-
IE9 이상으로 브라우저를 업그레이드하거나, 크롬, 파이어폭스 등 최신 브라우저를 이용해주세요.