본문 바로가기

programming/C++

[Visual Studio 6.0 - Workspace] 사용법 및 관리, 동적링크라이브러리

참고자료 : Visual C++6 완벽가이드 2nd Editon - (아는사람들끼리는 눈깔책이라고 불립니다-ㅇ-)
이 책에서 DLL에 대한 내용을 한번 보시길 바랍니다. 

 -> Visual Studio 6.0 Workspace
사용법

한 개의 Workspace2개의(혹은 여러 개) 프로젝트를 관리(?) 하는 법을 살펴보겠습니다.


위 그림처럼 Blank Workspace를 선택 후(한개밖에없지만 ㅋ) Workspace name을 입력합니다.

그리고, 2개의 프로젝트를 생성합니다. Win32 Console Application으로 Project1, Project2를 생성하였습니다.



WorkSpace폴더안에 생성한 2개의 프로젝트를 넣겠습니다 (Workspace를 생성하게 되면 위 그림처럼 dws, opt,ncb 파일 3개가 생성)
그럼 WorkspaceTest.dsw 파일을 실행하겠습니다.

실행 후 위 그림처럼 Workspace에 오른쪽 버튼 클릭후 Instert Project into Workspace... 을 클릭합니다.


그러면 위 그림처럼 추가시킬 프로젝트를 선택하는 창이 나오는데, Project1 폴더로 들어가서 Proejct1.dsp 파일을 클릭합니다.
그리고, Proeject2 또한 동일하게 해줍니다. 그러면 2개의 프로젝트가 추가가 되었을겁니다.
 -> 2개의 (혹은 여러개)의 프로젝트를 활성하거나 컴파일 하려면 해당 프로젝트에 오른쪽 버튼 클릭후 Set as Active Proejct
을 클릭합니다.

 이렇게 하여 2개의 프로젝트를 관리하는 법을 알게되었습니다. 이 후로는 Dll, Lib, Header파일을 2개의 프로젝트(혹은 여러개)가 공유(?)할 수 있도록 하는 방법을 알아보도록 하겠습니다. 하는 이유는 프로젝트마다 저 3개의파일을 하나하나 연결할 필요없이 한번으로만 해결할 수 있고, 활용성이 좋기 때문입니다. (더 좋은이유도 많겠죠?ㅋ) 
 - 이름 하여, 동적 링크 라이브러리!!! (말그대로 동적으로 라이브러리를 링크(연결)하는 방법입니다.)

일단, Debug 파일의 실행파일을 옮겨보도록 하겠습니다.


위 그림처럼 Proejct -> Settings.. 를 클릭합니다.


또 위 그림처럼 Link -> Output file name에서 [ ../ ] 단지 이것만 붙여줍니다. 이 뜻은 상위폴더로 이동한다는 뜻입니다.
그래서, 상위 폴더로 이동후 Debug 파일에 Proejct1 실행파일을 Output한다는 뜻입니다.
WorkSpaceTest 파일에 가보면, Debug 폴더가 생겨나고, Debug 폴더안에 들어가보면 실행파일이 생성된걸 확인할 수 있습니다.
이렇게 하는 이유는, 실행파일과 DLL파일이 서로 같은 경로에 있어야 하기 때문입니다.  - 설명이 허접하군요;; 책보세요! ㅋㅋ
아!! Release도 같은 방식으로 하면 됩니다. 저기 위에 Setting for에서 Release를 선택 후 Debug랑 같은 방식으로 [ ../ ] 만 추가시키면 됩니다. 


전 밑에 있는 3개의 파일을 사용하겠습니다. - (이제부터 시작입니다. ㅋㅋ)


일단 WorkSpaceTest 폴더안에
 1) bin 폴더를 생성합니다.
 2) bin 폴더안에 inlcude 폴더를 생성합니다
 3) include 안에 Header와 Lib 폴더 2개를 생성합니다.
그리고 각각 폴더의 이름에 맞게 파일들을 넣어둡니다. Header폴더에는 Header파일을. LIb 폴더에는 Lib파일을..
아참.. DLL 파일은 Debug폴더에 넣어둡니다. (각 프로젝트 Debug폴더가 아닌, 상위폴더에 있는 Debug폴더입니다)
이제 폴더생성은 끝!!


Project Settings에 들어갑니다. C/C++ 탭 클릭후 Proejct Options: 에 /I "../bin/include/Header" 내용을 추가합니다.
이 경로가 아까 바로 위에 만든 폴더 경로입니다. 이런 식으로 해줘야 Header 파일이 연결됩니다. 이제 LIb 파일을 연결하도록 하겠습니다.


Lib도 비슷합니다. Lib 탭을 선택 후 , Project Optins에 맨밑에다가 /libpath:"../bin/include/Lib"
이 내용을 추가합니다.

이제 거의 끝났습니다!!!


위 그림처럼 Add to Project -> Files를 선택후 bin -> include -> Header로 가서 아까 넣어두셨던 Header파일을 클릭합니다
그러면 Proejct1에 Header파일이 추가된걸 확인할 수 있습니다.

이제 마지막...Library를 입력해줘야 합니다...밑에 그림처럼 #pragma commnet 어쩌고~를 입력하시면 됩니다.


아차! 뺴먹은게 있는데, 헤더파일도 Include 시켜줘야 합니다. #include "헤더파일.h"
이렇게 안하시고, 다른 방법으로.. 밑에 그림처럼 추가시켜줘도 됩니다.


자세한 설명은 없습니다. 책을 통하여 라이브러리라든가 개념들은 정리해두시길....

이제 끝입니다..많이 힘들었습니다 ㅠㅠ 덧글하나 달아주시고, 퍼가시게 될때는 출처만 달아주세요 ㅎㅎ


'programming > C++' 카테고리의 다른 글

Release Mode vs Debug Mode  (0) 2011.08.10
Windows7에서 Arp Table을 수정 ( CMD 명령어를 이용한 방법)  (0) 2011.04.04
Visual Studio 2010 C++ 단축키  (0) 2011.03.08
보간법  (0) 2010.06.10
객체출력자  (0) 2009.11.24