VS 2012 / Win 8 / atlbase.h Problem
-
Hallo alle,
ich habe mit VS 2003 einen DCOM-Server mit 2 Ein-/Ausgangsschnittstellen entwickelt (alles OK, seit Jahren im Einsatz). Nun muss ich das Projekt auf VS 2012 / Win 8 portieren. Während der VS 2012 Kompilierung erhalte ich folgende Fehlermeldungen:
error C3861: "AtlDumpIID": Bezeichner wurde nicht gefunden.
C:\Program Files\Microsoft Visual Studio 11.0\VC\atlmfc\include\atlcom.h(2525): error C3861: "AtlDumpIID": Bezeichner wurde nicht gefunden.
C:\Program Files\Microsoft Visual Studio 11.0\VC\atlmfc\include\atlcom.h(3687): error C2039: '_AtlDebugInterfacesModule': Ist kein Element von 'ATL'
C:\Program Files\Microsoft Visual Studio 11.0\VC\atlmfc\include\atlcom.h(3687): error C2065: '_AtlDebugInterfacesModule': nichtdeklarierter Bezeichner
C:\Program Files\Microsoft Visual Studio 11.0\VC\atlmfc\include\atlcom.h(3687): error C2228: Links von ".AddNonAddRefThunk" muss sich eine Klasse/Struktur/Union befinden.
Typ ist ''unknown-type''Projekteinstellungen:
•Die ATL wird dynamisch gebunden,
•die atlbase.h ist includiert (showincludes).Kann mit jemand helfen? Danke,
Václav
-
Schau in den Sourcecode. Dort ist die Funktion in der ATLBase.h definiert.
Wie Du unschwer siehst aber durch defines in einen #if gepackt.
Du hast also entweder _ATL_DEBUG_INTERFACES oder _ATL_DEBUG_QI nicht definiert!
Entweder machst Du das in den Projekteinstellungen oder in der stdafx.h.
HTH
-
Hallo Martin,
vielen Dank für Deinen Tipp!
Seitdem ich die _ATL_DEBUG_INTERFACES und _ATL_DEBUG_QI Definition in die Projekteinstellungen (in stdafx.h war´s definiert) aufgenommen habe ist VS 2012 happy und ich auch!Václav