Как Visual Studio определяет порядок компиляции файлов IDL? - PullRequest
2 голосов
/ 14 июля 2010

У меня есть проект COM, который содержит несколько файлов IDL, некоторые из которых импортированы в другие.Как Visual Studio решает, какие из них компилировать (используя MIDL) в первую очередь?

Я хочу контролировать порядок.У меня есть основной файл IDL, в котором содержится объявление библиотеки с несколькими операциями импорта, и я получаю ошибку сборки, если она не скомпилирована первой.новичок в COM / ATL, и это очень, очень запутанно).

Ответы [ 2 ]

4 голосов
/ 14 июля 2010

Вы не можете просить Visual Studio создавать файлы .ild в определенном порядке. Вместо этого вы можете #include некоторые файлы .idl в другие файлы .idl и установить импортированные файлы как «исключенные из сборки». Таким образом, MIDL не будет компилировать импортированные файлы отдельно, вместо этого он будет включать их содержимое в определенное место другого файла и компилировать как часть этого файла (тот же эффект, что и у препроцессора C #include).

0 голосов
/ 29 декабря 2011

Visual Studio можно создавать в любом порядке. Для этого есть два способа:

  1. Выполнить этап предварительной сборки, на котором вы можете получить его впостройте те, которые вы хотите построить первыми.

  2. Поместите те, которые вы хотите построить первыми, в отдельный проект и заставьте его сначала построить этот проект, сделав другой зависимым от него.

Это то, что вам следует делать, если вы не можете изменить файлы idl.Однако, если один файл idl действительно зависит от другого, и вы можете изменить их, сделайте то, что было предложено выше, и попросите один включить другой.

...