Pergunta

Eu tenho um projeto COM que contém um número de arquivos IDL, alguns dos quais são importados para outros.Como o Visual Studio decide quais se compilar (usando MIDL) primeiro?

Eu quero controlar o pedido.Eu tenho um arquivo idl mestre que contém minha declaração de biblioteca com várias importações, e eu recebo um erro de compilação se não for o primeiro compilado.

(Se algum desses sons realmente estranho ... sou novo para com / atl, e é realmente, realmente confuso).

Foi útil?

Solução

Você não pode pedir ao Visual Studio para criar arquivos .ild em uma ordem específica.Em vez disso, você pode gerar um dos arquivos .idl em outros arquivos .idl e defina os arquivos que você importou para "excluído da compilação".Desta forma, a MIDL não compilará os arquivos importados separadamente, em vez disso, incluirá seu conteúdo em local específico de outro arquivo e compilará como a parte desse arquivo (mesmo efeito que com a CE pré-processador C,

Outras dicas

Você pode fazer o Visual Studio construir coisas em qualquer ordem que você deseja, há duas maneiras de fazer isso:

    .
  1. Coloque em uma etapa pré-construída na qual você pode obter para construir os que deseja construir primeiro.

  2. Coloque os que você deseja construir primeiro em um projeto separado e obtê-lo para construir esse projeto primeiro fazendo o seu outro dependente dele.

  3. Isso é o que você deve fazer se não puder modificar os arquivos IDL.Se no entanto, um arquivo idl realmente depender de outro e você pode modificá-los, então faça o que foi sugerido acima e obtenha um para incluir o outro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top