VS로 작업시 여러가지 DLL을 만들어내는 프로젝트와 해당 DLL을 사용하여 EXE를 만들어내는 프로젝트를 하나의 솔루션으로 만들어서 관리하면 무척 편하게 작업이 가능한다.
특정 DLL을 수정시 그 DLL에 종속성이 있는 다른 프로젝트의 DLL 과 EXE 등이 자동으로 필요한 것만 컴파일이 되게도 설정이 가능하다.
EXE가 실행될때 필요한 DLL을 한곳에 모으는 것은 각 프로젝트의 속성을 수정하는 것만드로 가능하다.
우선 하나의 솔루션을 생성하고 각각의 프로제트를 생성한다. 이후 각각의 프로젝트의 OutDir을 설정한다.
위의 속성창에서 처럼 출력디렉토리와 중간 디렉토리를 설정해 주면 (중간 디렉토리 값의 DLL은 해당 프로젝트 명으로)
솔루션디렉토리
/EXE 프로젝트
/DLL 프로젝트
/bin(바이너리 파일들이 남는곳 dll, exe, pdb)
/Debug/EXE(EXE 프로젝트의 중간 오브젝트 파일들이 생성)
/DLL(DLL ” ” ” )
그리고 위의 프로젝트 종속성을 각각 프로젝트 마다 필요한 DLL등에 설정해주면 자동 컴파일시 자동으로 DLL 이나 lib등을 링크해 주게 된다. (속성창에서 따로 설정해 줄 필요가 없다.)
이렇게 해둘경우 컴파일된 중간 결과나 바이너리를 정리하고 소스만 압축할 경우에도 /bin, /Debug 등만을 지워주면 되니 무척 간편하다. 마지막으로 위의 EXE 프로젝트에서 DLL의 헤더파일을 인클루드 할경우는
이런식으로 하면 된다.
이렇게 해둘경우 컴파일된 중간 결과나 바이너리를 정리하고 소스만 압축할 경우에도 /bin, /Debug 등만을 지워주면 되니 무척 간편하다. 마지막으로 위의 EXE 프로젝트에서 DLL의 헤더파일을 인클루드 할경우는
#include “../DLL/INCLUDE.h”