Mehrere Header-Datein



  • Hallo,
    ich habe mit Visual C++ 2008 eine Windows Forms Anwendung erstellt.
    Hier erstellt der Editor ja automatisch eine form.h. Ich möchte nun aus einem externen Projekt eine Funktionierende Header Datein includen allerdings bekomme ich dann den Fehler:

    c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(96) : error C2872: 'IServiceProvider': Mehrdeutiges Symbol
    1> kann 'c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(53) sein: System::IServiceProvider IServiceProvider'
    1> oder "c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::IServiceProvider"
    1>c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(96) : error C3699: "": Diese Referenzierung kann nicht für den Typ "IServiceProvider" verwendet werden.
    1> Der Compiler ersetzt "
    " durch ^", um die Analyse fortzusetzen.
    1>c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(103) : error C2371: 'IServiceProvider': Neudefinition; unterschiedliche Basistypen
    1> c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(53): Siehe Deklaration von 'IServiceProvider'
    1>c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(120) : error C2872: 'IServiceProvider': Mehrdeutiges Symbol
    1> kann 'c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(103) sein: IServiceProvider'
    1> oder "c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::IServiceProvider"
    1>c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(235) : error C2872: 'IServiceProvider': Mehrdeutiges Symbol
    1> kann 'c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(103) sein: IServiceProvider'
    1> oder "c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::IServiceProvider"
    1>c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(242) : error C2872: 'IServiceProvider': Mehrdeutiges Symbol
    1> kann 'c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(103) sein: IServiceProvider'
    1> oder "c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::IServiceProvider"
    1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\urlmon.h(5854) : error C2872: 'IServiceProvider': Mehrdeutiges Symbol
    1> kann 'c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(103) sein: IServiceProvider'
    1> oder "c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::IServiceProvider"
    1>C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\urlmon.h(5856) : error C2872: 'IServiceProvider': Mehrdeutiges Symbol
    1> kann 'c:\program files\microsoft sdks\windows\v6.0a\include\servprov.h(103) sein: IServiceProvider'
    1> oder "c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::IServiceProvider"

    Wenn ich den Include Befehl aukommentiere geht es wieder.
    Woran kann das liegen?

    projektinclude.h

    #pragma once
    using namespace System;
    ref class Family
    {
    	String ^vorname;
    	String ^nachname;
    public:
    
    Family(String ^vorname,String ^nachname);
    int komplett(int zusatz);
    };
    

    projektinclude.cpp

    #include "StdAfx.h"
    #include "projektinclude.h"
    using namespace System;
    
    Family::Family(String ^vorname,String ^nachname)
    {
    this->vorname=vorname;
    this->nachname=nachname;
    }
    
    int  Family::komplett(int zusatz)
    	{
    return 22;
            }
    

    eignedlich sollte dann im Fenster 22 stehen

    Erledigt:
    #include <windows.h> musste einfach weiter oben stehen



  • Benutze die Suchfunktion des Forums, es gibt zu dem Problem einige Einträge.
    Simon


Anmelden zum Antworten