반응형
http://ha2rupms.tistory.com/79

[Lib] 정적 라이브러리 만들기

프로그래밍/Library 2012/10/05 22:03


정적 라이브러리 프로젝트 만드는 법


아주 기초부터 해볼께요 !





우선 Win32 프로젝트로 원하는 폴더에 이름을 생성한 후 프로젝트를 만듭니다.

확인을 누르시구요,






여기서 정적 라이브러리를 선택한 후, 미리 컴파일된 헤더는 선택 하셔도, 안하셔도 됩니당.

저는 선택 하는 것으로 할게요 /ㅅ /





여기서 Lib 프로젝트의 속성을 지정해주기 전에 해당 폴더 내에 Include 폴더를 생성합니다.

이 Include 폴더 안엔 라이브러리 화! 할 헤더를 담아 놓습니다. 위의 폴더를 예로들면 cMsLib.h 가 되겠네요^^






자, 기본 설정을 했으니 이제 속성 설정을 해볼게요.


프로젝트에 속성을 여시구요.



C/C++ -> 일반 -> 추가 포함 디렉터리에 방금 만든 Include; 를 넣습니다.


추가 포함 디렉터리란 말 그대로 추가적으로 포함할 디렉터리를 말하고, 그 폴더 내의 파일을 사용할 수 있게 합니다.


폴더의 구분은 ' ; ' 로 합니다.



디렉터리를 추가 하셨으면, 





라이브러리 관리자 -> 일반에서 


(ProjectName).lib 를 (ProjectName)_d.lib 로 바꿔주세요. 이는 Release 모드 시의 Lib와 Debug 모드 시의 Lib를 구분하기 위함입니다.



참고로 말씀드리자면, Release 모드에서도 Lib 사용하고자 원하시면, Debug 모드의 출력 파일명을 변경하는 것을 제외하고는 

Release 모드에서도 똑같이 변경 하셔야 해요. 위에서 한 것과 앞으로 할 일두요 !! 






자, 이제 Lib 파일만 편하게 가져다 쓸 수 있게 폴더들을 미리 만들어 볼게요.


Lib 프로젝트 상위에 Lib 폴더를 만드시고, 그 아래에 Include와 Lib 폴더를 또 각각 만들어주세요.





그리고 빌드 이벤트 -> 빌드 후 이벤트 -> 명령 줄에 명령어를 써 넣어 봅시다 !


위의 이상한 copy copy copy 3 줄은 

"~~~~" 에 있는 lib를 "~~~~"로 복사한다 ! 라는 뜻입니다.


즉, 현 위치에 있는 .lib 와 .pdb 파일은

위에서 만들어 놓았던 ../ 상위의 Lib 폴더의 Lib 폴더 안에 복사한다는 말 이구요 ~


Include 폴더 안에 있는 .h 파일을 ../ 상위의 Lib 폴더의 Include 폴더 안에 복사한다는 말 입니다.



이렇게 해 놓으면 나중에 Lib 폴더 하나만 가져가도 라이브러리를 쓸 수 있게 되니 아주 편리합니다.






자, 이제 Lib 프로젝트에서 할 수 있는 것은 다 했어요 !! (아마, 제가 아는 선에서는 말이죠 ... )


그렇다면 이제, 프로젝트 종속성을 바꿔줍니당.



Lib 프로젝트에서 빌드를 다 하고 난 후에 그 Lib를 사용하는 프로젝트 (위에서는 121005_Lib 연습 프로젝트) 를 빌드 해야겠지요?


때문에 종속성이 필요한 것입니다.



위처럼 종속성을 클릭하면,




이와같은 창이 나타납니다. 우선 빌드할 Lib 프로젝트를 선택하시면 되요~





그리고, Lib 프로젝트가 아닌 프로젝트를 시작 프로젝트로 설정하면 끄~읕 입니다^_^


반응형

'운영체제 & 병렬처리 > DLL_LIB' 카테고리의 다른 글

DLL 명시적, 묵시적 호출방법  (0) 2013.09.12
DLL 임포트 방법들  (0) 2012.11.20
DLL 제작방법 – 1. Non-MFC DLL  (0) 2012.11.03
directx 릴리즈,디버그 lib  (0) 2012.11.02
lib 파일 생성과 사용  (0) 2012.11.01

+ Recent posts