exe, dll, lib 들의 모듈이 모여 하나의 프로그램으로 동작하는 경우가 있다.
간단한 테스트 프로그램 정도의 size가 아니라면 대부분의 응용프로그램은 여러모듈이 모여 하나의 프로그램을 이룰것이다.
예들들어 a.exe에서 b.dll을 로딩하고 c.lib을 링크하고 있는 경우 사용자는 a.exe를 실행하여 사용하지만 사실상 a.exe가 실행하면서 b.dll, c.lib또한 같이 실행되고 있는것이다.

프로그래머의 입장에서 프로그램을 코딩하거나 오류수정등을 하고, 컴파일 후 빌드를 하는 과정에서 각 모듈 프로젝트는 모두 컴파일, 빌드를 수행함으로써 프로그램의 결과를 확인할수 있다.
문제는 여기에 있다. 결과를 확인하기위해 각 모듈을 컴파일, 빌드해야된다는것.
모듈로 나눠진 프로젝트가 물론 2,3개정도라면 개별 빌드가 큰 수고스러움이 없겠지만 10개 단위가 넘어간다면 또는 그 이상이라면 매우 귀찮은 일이 아닐수 없다.
( 이런 귀찮음을 하지 않기위해 하나의 프로젝트에 모든 코드를 다 작성하겠다면.. 그것은 개인의 선택이지만.. )

그래서..
여러개의 프로젝트를 대표하는 통합 프로젝트를 생성하고 그것을 컴파일, 빌드하면 모든 프로젝트를 컴파일, 빌드 할수 있도록 만들어 보도록 하겠다.

설명하는 IDE는 모두에게 친숙한 Visual Studio 6.0이다. 통합 빌드 프로젝트를 생성하고 난 후의 완성 폴더 구조는 다음과 같다.


통합 빌드를 하기 위해 _BuildAll이라는 프로젝트를 생성하였고, TestEXE라는 실제 코드가 작성되있는 프로젝트를 생성하였다. 그다음 _BuildAll과 TestEXE 프로젝트간의 Dependency를 연결해주면 _BuilAll로 통합 빌드가 가능해진다.
위의 그림은 샘플 제작을 위해 만들었기때문에 TestEXE 프로젝트만 만들어 놓았지만 실제 코드 모듈의 프로젝트가 여러개라도 Dependency만 연결해주면 통합 빌드에는 문제가 없다.
 
이제 통합 빌드 프로젝트를 생성하는 방법을 알아보도록 하겠다.
우선, 필자는 모든것을 빌드하겠다는 의미로 통합 빌드 프로젝트 이름을 _BuildAll로 하였다.

1. Blank Workspace 생성
[File] - [New] 메뉴에서 [Workspace] tab을에 들어가 Blank Workspace 생성한다.



Visual Studio 6.0 에서는 workspace 생성시 해당 name으로 폴더를 자동 생성해준다. 실제 _BuildAll의 경우는 실제 코드가 존재 하는것이 아니기때문에 폴더를 생성하지 않는 편이 좋다. 그래서 빨간 네모의 _BuildAll은 삭제를 하였다.
(이미 모든 프로젝트를 넣기 위해 TestProject라는 폴더를 생성하고 그안에 프로젝트를 저장하고 있다. 별도 폴더를 생성하지 않았다면 _BuildAll 폴더를 생성해도 된다.)

2. Utility Project 생성
[File] - [New] 메뉴에서 [Projects] tab을에 들어가 Utility Project를 생성한다.


생성후의 FileView의 모습은 다음과 같다.


3. 실제 코드가 작성할 프로젝트 생성
예제에서는 TestEXE 프로젝트를 생성하였다.


4. Dependencies 연결
같이 빌드할 Project들의 dependency를 연결한다.
[Project]-[Dependencies] 메뉴를 실행하여 dependency 설정

Dependency 설정 후의 workspace 화면



5. 통합 빌드 하기


_BuildAll을 선택하여 Build를 하면 된다.

[참고]
_BuildAll에 대한 Output directory를 생성하지 않기 위해서는?
Alt + F7의 Project setting의 빨간 네모 부분의 내용을 삭제함