none
Win 8 VS 2012 CComModule RRS feed

  • Frage

  • Hallo *,

    ich portiere einen DCOM-Server von VS 2003 (alles problemlos) auf VS 2012. In der sdtafx.h deklariere ich:

    extern CComModule _Module

    _Module wird verwendet, wie z.B. _Module.UpdateRegistryFromResource (...) usw.

    Nachdem alle Module fehlerfrei kompiliert wurden, melder der Linker:

    error LNK1120: Nicht ausfgelöstes externes Symbol ""class ATL::CComModule _Module ...

    Kann mir jemand helfen?! Danke!

    Václav


    Access

    Freitag, 13. September 2013 09:02

Antworten

  • Nicht nur der Linker auch Du hast Recht!

    In welcher Library befindet sich die "class ATL::CComModule"-Definition? Die Konvertierung VS 2003 -> VS 2012 der Projektdateien wurde automatisch vom VS 2012 durchgeführt. Meine manuelle Überprüfung der Verzeichnisse hat nichts gebracht.

    Kannst Du mir wirklich helfen?

    Danke, Václav


    Access

    Freitag, 13. September 2013 13:17

Alle Antworten

  • Und?
    Damit hast Du _Module nur deklariert, aber nicht definiert.

    Da hat der Linker schon recht. Einmal muss es irgendwo definiert werden.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de

    Freitag, 13. September 2013 12:58
    Moderator
  • Nicht nur der Linker auch Du hast Recht!

    In welcher Library befindet sich die "class ATL::CComModule"-Definition? Die Konvertierung VS 2003 -> VS 2012 der Projektdateien wurde automatisch vom VS 2012 durchgeführt. Meine manuelle Überprüfung der Verzeichnisse hat nichts gebracht.

    Kannst Du mir wirklich helfen?

    Danke, Václav


    Access

    Freitag, 13. September 2013 13:17
  • Dafür bist Du doch selbst verantwortlich:

    http://msdn.microsoft.com/de-de/library/1300df24(v=vs.90).aspx

    Zitat:
    When you run the ATL COM AppWizard, the wizard automatically generates _Module, a global instance of CComModule or a class derived from it. For more information about the ATL Project Wizard, see the article Creating an ATL Project.

    Wenn ich ein ATL Objekt anlege, dann wird ein entsprechende ComModule im DllMain.cpp definiert!


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de

    Mittwoch, 18. September 2013 10:03
    Moderator