프로젝트에서를 하나의 프로젝트에 포함시킨 다음에
솔루션빌드를 하면 자신이 고친 코드가
반영되지 않을 때가 있다.
보통은 라이브러리를 생성하는 프로젝트가 있을 때 이런 일이 발생한다.
예를 들어서 A
응용프로그램이 B의 랄이브러리를 참조하고, B가 C의 라이브러리를 참조하고, B가 D의 라이브러리를 참조한다고 하자.
그러면 D
-> C -> B -> A 혹은 C -> D -> B -> A 순으로 빌드되어야 한다.
하지만
보통 솔루션 내에서 빌드 순은 프로젝트 포함/생성 순으로 되어 있다.
그러므로 A -> B -> C -> D
순으로 생성했다면 문제가 발생하게 된다.
이럴 때 어떤 문제를 해결해야 하는가?
바로 여기에서 종속성 문제가 나온다.
기존에는 한 솔루션은 한 프로젝트여서 그런거 잘
몰랐고,
종속성이라고 하니까 왠지 무서웠는데,
종속성은 간단하다. 빌드의 순서를 지정하기 위한 것이 종속성이다.
VC++ .NET의 [솔루션 탐색기]에서 프로젝트 하나를 선택한 다음
마우스 오른쪽 버튼을 누르면 [프로젝트
종속성] 이라는 메뉴 아이템이 있다.
거기에서 콤보박스에 있는 프로젝트를 하나씩 선택해서 자신보다 먼저 빌드되어야 하는 프로젝트에
종속성을 체크한다.
위의 예를 살펴보면...
B 프로젝트는 C프로젝트와 D프로젝트에 종속성 체크를 하고,
A 프로젝트는 B프로젝트에 종속성 체크를 한다.
그러면 D -> C -> B -> A 혹은 C
-> D -> B -> A 순으로 빌드가 된다.
================================================================================================
MSDN) 프로젝트 종속성이란 솔루션에서 여러개의 프로젝트가 있을 때 A 프로젝트를 컴파일할 때 B 프로젝트의 코드가 필요할 때 이때 A는
B에 종속 된다라고 말한다. 따라서 A 프로젝트의 종속성에서 B를 체크하면 된다.
예를 들어 A라는 게임 프로젝트와 B의 라이브러리 프로젝트 두 개를 하나의 솔루션에 포함되어 있다고 가정하자.
A 프로젝트에서는 B 프로젝트의 라이브러리가 필요하므로 Header을 추가하고 Library를 링크 시켜야 한다.
첫번째 방법)
* 프로젝트 종속성 체크
솔루션 -> 속성 -> 공용 속성 -> 프로젝트 종속성 -> A 프로젝트 -> B 프로젝트를 체크
* B 프로젝트의 Header를 추가한다.
두번째 방법)
* 프로젝트 종속성 체크
위에서 B 프로젝트를 체크 하였는데 체크를 하지 않아도 된다. 해도 상관 없다.
* B 프로젝트의 Header를 추가한다.
* B 프로젝트의 Library 파일을 추가
ex) #pragma comment(lib, "..\\B_Project\\Lib\\B_Project.lib")
정리)
프로젝트 종속성을 체크하면 자동으로 B 프로젝트의 Library를 추가해 준다.
프로젝트에서를 하나의 프로젝트에 포함시킨 다음에
솔루션빌드를 하면 자신이 고친 코드가
반영되지 않을 때가 있다.
보통은 라이브러리를 생성하는 프로젝트가 있을 때 이런 일이 발생한다.
예를 들어서 A
응용프로그램이 B의 랄이브러리를 참조하고, B가 C의 라이브러리를 참조하고, B가 D의 라이브러리를 참조한다고 하자.
그러면 D
-> C -> B -> A 혹은 C -> D -> B -> A 순으로 빌드되어야 한다.
하지만
보통 솔루션 내에서 빌드 순은 프로젝트 포함/생성 순으로 되어 있다.
그러므로 A -> B -> C -> D
순으로 생성했다면 문제가 발생하게 된다.
이럴 때 어떤 문제를 해결해야 하는가?
바로 여기에서 종속성 문제가 나온다.
기존에는 한 솔루션은 한 프로젝트여서 그런거 잘
몰랐고,
종속성이라고 하니까 왠지 무서웠는데,
종속성은 간단하다. 빌드의 순서를 지정하기 위한 것이 종속성이다.
VC++ .NET의 [솔루션 탐색기]에서 프로젝트 하나를 선택한 다음
마우스 오른쪽 버튼을 누르면 [프로젝트
종속성] 이라는 메뉴 아이템이 있다.
거기에서 콤보박스에 있는 프로젝트를 하나씩 선택해서 자신보다 먼저 빌드되어야 하는 프로젝트에
종속성을 체크한다.
위의 예를 살펴보면...
B 프로젝트는 C프로젝트와 D프로젝트에 종속성 체크를 하고,
A 프로젝트는 B프로젝트에 종속성 체크를 한다.
그러면 D -> C -> B -> A 혹은 C
-> D -> B -> A 순으로 빌드가 된다.
================================================================================================
MSDN) 프로젝트 종속성이란 솔루션에서 여러개의 프로젝트가 있을 때 A 프로젝트를 컴파일할 때 B 프로젝트의 코드가 필요할 때 이때 A는 B에 종속 된다라고 말한다. 따라서 A 프로젝트의 종속성에서 B를 체크하면 된다.
예를 들어 A라는 게임 프로젝트와 B의 라이브러리 프로젝트 두 개를 하나의 솔루션에 포함되어 있다고 가정하자.
A 프로젝트에서는 B 프로젝트의 라이브러리가 필요하므로 Header을 추가하고 Library를 링크 시켜야 한다.
첫번째 방법)
* 프로젝트 종속성 체크
솔루션 -> 속성 -> 공용 속성 -> 프로젝트 종속성 -> A 프로젝트 -> B 프로젝트를 체크
* B 프로젝트의 Header를 추가한다.
두번째 방법)
* 프로젝트 종속성 체크
위에서 B 프로젝트를 체크 하였는데 체크를 하지 않아도 된다. 해도 상관 없다.
* B 프로젝트의 Header를 추가한다.
* B 프로젝트의 Library 파일을 추가
ex) #pragma comment(lib, "..\\B_Project\\Lib\\B_Project.lib")
정리)
프로젝트 종속성을 체크하면 자동으로 B 프로젝트의 Library를 추가해 준다.
'비주을스튜디오 Tip' 카테고리의 다른 글
vs2003 일반 단축키, 디버깅 단축키 (0) | 2012.10.31 |
---|---|
visual studio Express 버전 사이트 (0) | 2012.10.31 |
속성 -> 구성속성 -> 디버깅 -> 작업디렉터리 (0) | 2012.10.31 |
Visual Studio에서 사용하는 매크로 (0) | 2012.10.31 |
Visual Studio 2010, 비주얼스튜디오2010 다운 (0) | 2012.10.31 |