2010-07-13 5 views
2

여러 개의 IDL 파일이 포함 된 COM 프로젝트가 있으며 그 중 일부는 다른 IDL 파일로 가져옵니다. Visual Studio는 먼저 MIDL을 사용하여 컴파일 할 대상을 어떻게 결정합니까?Visual Studio는 IDL 파일을 컴파일하는 순서를 어떻게 결정합니까?

주문을 관리하고 싶습니다. 여러 가져 오기 함께 내 라이브러리 선언을 포함하는 마스터 IDL 파일이 있고 내가 컴파일 된 첫 번째 아닌 경우 빌드 오류가 발생합니다.

(이 사운드가 이상하게 들리면 ... 저는 COM/ATL을 처음 접했고 정말 혼란 스럽습니다.)

+0

종속성을 올바르게 설정하면 Visual Studio에서 올바른 순서로 컴파일해야합니다. – ChrisF

+0

IDL 파일 간의 종속성을 어떻게 설정합니까? 나는 보통 C++에서 #include 문을 사용하는 것처럼 import 문을 사용하고있다. –

답변

4

Visual Studio에서 .ild 파일을 특정 순서로 빌드하도록 요청할 수 없습니다. 대신 #include의 .idl 파일을 다른 .idl 파일에 넣고 가져온 파일을 "빌드에서 제외"로 설정할 수 있습니다. 이렇게하면 MIDL은 가져온 파일을 별도로 컴파일하지 않고 다른 파일의 특정 위치에 내용을 포함시키고 해당 파일의 일부로 컴파일합니다 (C 프리 프로세서 #include과 동일한 효과).

0

당신은 Visual Studio를 당신이 원하는 어떤 순서로 일을 만들 수 있습니다,이 작업을 수행하는 두 가지 방법이 있습니다 :

  1. 빌드 전 단계에서 넣어 당신이 사람을 구축 얻을 수있는 당신 먼저 건설하기를 원한다.

  2. 먼저 빌드하려는 빌드를 별도의 프로젝트에 넣고 다른 프로젝트에 종속적으로 만들어 프로젝트를 빌드하십시오.

idl 파일을 수정할 수없는 경우 수행해야하는 작업입니다. 그러나 하나의 idl 파일이 실제로 다른 파일에 의존하고 수정할 수 있다면 위의 제안을 수행하고 다른 파일을 포함하도록하십시오.

관련 문제