Frage

Wir schauen uns in den Umzug unserer Anwendung von VS2008 bis VS2010.

Wir erzeugen einige COM-Objekte mit "zugeführten Programmierung" und die IDL wird automatisch generiert.

Die Importanrichtungen für beide Dateien sind unterschiedlich und die Kompilierung schlägt auf VS2010 aus.

Bei VS2008 erzeugt es so etwas wie:

generasacodicetagpre.

auf vs vs 2010

generasacodicetagpre.

Wenn die IDL auf VS2010 kompiliert ist, erzeugt er die folgenden Fehler

generasacodicetagpre.

Das manuelle Entfernen der Einfuhrrichtlinie "wincrypt.idl" entfernt den Kompilierungsfehler, aber das ist keine Lösung, da die IDL automatisch generiert wird.

Ich bin nicht sicher, warum die beiden IDL anders sind und was dazu ist, die Importanweisungen hinzuzufügen;oder sogar, wie Sie den MIDL-Kompilierungsfehler beheben.

Alle Ideen?

Vielen Dank im Voraus.

max.

War es hilfreich?

Lösung

es fehlt

generasacodicetagpre.

Sie können es beheben, indem Sie das Attribut [ImportIDL] in Ihrem Code verwenden.

zugeordnete Programmierung war ein bisschen Fehler, er wurde im Wesentlichen veraltet, als es als Option für den ATL-Projektassistenten in VS2008 entfernt wurde.Für die langfristige Wartung Ihrer Codebasis betrachten Sie das Entfernen.Sie können den automatisch generierten .idl als Weg verwenden, um das gestartet zu erhalten.

Andere Tipps

Perhaps I was using the [importidl] attribute wrong, but I couldn't get Hans' answer to fix this problem. But the fix here worked. Just add this to the top of your stdafx.h file:

[idl_quote("import \"ocidl.idl\";")];
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top