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


  • Mod

    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


Anmelden zum Antworten