Frage

Ich habe ein COM-Projekt, das eine Reihe von IDL-Dateien enthält, von denen einige in andere importiert werden.Wie entscheidet Visual Studio, welche man zuerst kompilieren (unter Verwendung von MIDL)?

Ich möchte die Bestellung steuern.Ich habe eine Master-IDL-Datei, die meine Bibliotheksdeklaration mit mehreren Importen enthält, und ich erhalte einen Build-Fehler, wenn nicht der erste zusammengestellt ist.

(Wenn eines davon wirklich komisch klingt ... ich bin neu in com / atl, und es ist wirklich wirklich verwirrend).

War es hilfreich?

Lösung

Sie können das Visual Studio nicht fragen, um IID-Dateien in einer bestimmten Reihenfolge aufzubauen.Stattdessen können Sie einige von .idl-Dateien in andere .IDL-Dateien in anderen .IDL-Dateien generieren und die von Ihnen importierten Dateien einstellen, um in "Build" ausgeschlossen ".Auf diese Weise kompiliert MIDL die importierten Dateien nicht separat, sondern enthält ihren Inhalt in den spezifischen Ort einer anderen Datei und kompiliert als Teil dieser Datei (derselbe Effekt wie bei C-Preprocesor-#include).

Andere Tipps

Sie können visual Studio aufbauen Dinge in einer beliebigen Reihenfolge, die Sie gewünscht haben. Es gibt zwei Möglichkeiten, dies zu tun:

    .
  1. Legen Sie einen Voraufbauschritt auf, in dem Sie ihn dazu bringen können, die zu erstellen, die Sie zuerst bauen möchten.

  2. Setzen Sie diejenigen, die Sie in einem separaten Projekt erstellen möchten, und bringen Sie es, um dieses Projekt zuerst zu erstellen, indem Sie Ihre andere davon abhängig machen.

  3. Das sollten Sie tun, wenn Sie die IDL-Dateien nicht ändern können.Wenn jedoch eine IDL-Datei wirklich von einem anderen abhängt, und Sie können sie ändern, dann tun Sie, was oben vorgeschlagen wurde, und erhalten Sie einen, um den anderen aufzunehmen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top