728x90

우선 라이브러리들을 생성한후 적용해서 테스트를 할 기본적인 프로젝트를 생성합니다.

 

저는 MFC 로 프로젝트를 생성합니다.

특별한 옵션은 없고, 그냥 응용프로그램 종류에서 단일 문서에만 체크를 해놓고 생성하겠습니다.

프로젝트 명은 CreateLib 라고 했습니다.

 

/////////////// 1. 정적 라이브러리 생성 및 사용법 ///////////////

 

 

Json을 사용하기 위해  jsoncpp를 정적 라이브러리로 만들어 보겠습니다.

 

저는 jsoncpp-src-0.5.0 를 다운받아서 사용합니다.

jsoncpp는 인터넷에서 쉽게 찾아서 다운로드 하실수 있습니다 ~

 

 

1. 사진에 보이듯이 솔루션 오른쪽 클릭 -> 추가 -> 새프로젝트를 누른후 -> win32(win32 프로젝트) 만듭니다.(프로젝트 명: JSon)

 

 

2. 설정은 정적 라이브러리에 체크, 미리 컴파일된 헤더는 해제해주세요.

 

 

 3. 생성완료 하셧으면 아까만든 프로젝트(CreateLib) 폴더안에 JSon이라는 이름의 프로젝트 폴더가 하나 더 생긴것을 확인할수 있습니다.

 

JSon 폴더 안에 lib_json 이라는 폴더를 사진에서 보시는것처럼 붙여놓았는데

 

lib_json 안에 들어가는 목록들은 우선 jsoncpp-src-0.5.0(버전) 을 다운로드 하셧다면

jsoncpp-src-0.5.0 -> src 에 들어가시면 lib_json 폴더가 있는데 우선 그폴더를 복사해서 붙여넣어주시고

jsoncpp-src-0.5.0 -> include에 들어가시면 json 폴더가 있는데 그 폴더를 lib_json에 같이 넣으셔서 사진처럼 넣어줍니다.

 

 

4. 3번까지 완료하셧으면 이제 비쥬얼 스튜디오로 다시 돌아와서 JSon이라는 필터 하나 만들어주시고 거기 안에는 lib_json->json 폴더 안에 있는 헤더파일들을

 

소스 파일에는 lib_json 폴더 안에 있는 json_reader, json_value, json_writer.cpp 를 불러와 줍니다.

(사진은 저렇게 분류해서 불러왓지만 저렇게 분류해서 굳이 불러오지 않아도 됩니다.)

 

 

5. 이제 json.h파일을 include 시키고 우선 생성자 안에 StyledWriter를 하나 만들었습니다. 그 후

빌드를 하면 저렇게 링크 에러가 발생합니다.

링크 에러가 발생하는 이유는 참조를 시켜주지 않아서 컴파일된 함수같은것들을 가져오지 못하기 때문입니다.

 

6. CreateLib 프로젝트 -> 오른쪽 클릭 -> 속성 -> 공용 속성-> 새 참조 추가 까지 실행하신후에

앞서 만들엇던 JSon 프로젝트를 참조로 추가를 해주고 적용시킵니다.

그러면 앞서 발생했던 링크에러가 해결되는 현상을 볼수 있습니다. (JSon을 사용할수 있게 됫죠!)

 

 

7. 여기까지 잘 따라 하셧다면 컴파일 2~3번은 하셨을텐데요.

그러다보면 CreateLib 프로젝트 폴더 -> Debug 폴더 에 들어가보시면 아까 우리가 만들었던 JSon 프로젝트 이름과 똑같은 lib의 확장자 명을 가진 라이브러리가 보일 겁니다.

이 라이브러리가 바로 저희가 컴파일 하는 순간 만들어진 그리고 저희가 얻고자 햇던 json과 관련된 정적 라이브러리 입니다.

이 라이브러리를 이제 프로젝트에 추가만 해주면 앞서 6번에서 햇던 새 참조 추가 이런일을 하지 않아도 json을 그냥 사용할수 있게 됩니다.

 

 

 

 

 

8. 기존 처음 프로젝트엿던 CreateLib 폴더에 7번에서 만들어졋던 JSon.lib 를 복사해서 붙여 넣습니다.

 

 

비쥬얼 스튜디오로 돌아와서 CreateLib 프로젝트 오른쪽 클릭 -> 속성 -> 링커 -> 입력 에서

추가종속성 편집을 실행하신후 추가한 JSon.lib 이름을 적어주시고 적용시켜 주시면

6번에서 하셧던 새참조 추가를 지우고 컴파일 해보셔도 이제 잘 되는 것을 확인할수 있습니다.

 

 

즉. 정적 라이브러리를 생성하고, 적용까지 완료 하셨단 이야기구요. 이제 이 json 라이브러리를 사용하기만 하면 되는겁니다!

 

다음엔 동적 라이브러리 생성 및 적용 포스팅을 해보겠습니다.

 

728x90
Posted by 정망스
,


맨 위로
홈으로 ▲위로 ▼아래로 ♥댓글쓰기 새로고침