opencv - probleme beim einbinden der dateien



  • hi, ich will opencv benutzen. aber wenn ich die include-verweise gesetze habe:

    #include "cv.h";
    #include "highgui.h";
    

    kommen über 30 fehler:

    C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5934) : error C2872: 'IDataObject': Mehrdeutiges Symbol
            kann 'C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(251) sein: System::Windows::Forms::IDataObject IDataObject'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IDataObject"
    C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5934) : error C3699: "*": Diese Referenzierung kann nicht für den Typ "IDataObject" verwendet werden.
            Der Compiler ersetzt "*" durch ^", um die Analyse fortzusetzen.
    C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948) : error C2371: 'IDataObject': Neudefinition; unterschiedliche Basistypen
            C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(251): Siehe Deklaration von 'IDataObject'
    C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(6110) : error C2872: 'IDataObject': Mehrdeutiges Symbol
            kann 'C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948) sein: IDataObject'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IDataObject"
    C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(6123) : error C2872: 'IDataObject': Mehrdeutiges Symbol
            kann 'C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948) sein: IDataObject'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IDataObject"
    C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(6136) : error C2872: 'IDataObject': Mehrdeutiges Symbol
            kann 'C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948) sein: IDataObject'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IDataObject"
    C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(6171) : error C2872: 'IDataObject': Mehrdeutiges Symbol
            kann 'C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948) sein: IDataObject'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IDataObject"
    C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(6184) : error C2872: 'IDataObject': Mehrdeutiges Symbol
            kann 'C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948) sein: IDataObject'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IDataObject"
    C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(6282) : error C2872: 'IMessageFilter': Mehrdeutiges Symbol
            kann 'C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(263) sein: System::Windows::Forms::IMessageFilter IMessageFilter'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IMessageFilter"
    C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(6282) : error C3699: "*": Diese Referenzierung kann nicht für den Typ "IMessageFilter" verwendet werden.
            Der Compiler ersetzt "*" durch ^", um die Analyse fortzusetzen.
    C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(6328) : error C2371: 'IMessageFilter': Neudefinition; unterschiedliche Basistypen
            C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(263): Siehe Deklaration von 'IMessageFilter'
    C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(12671) : error C2872: 'IDataObject': Mehrdeutiges Symbol
            kann 'C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948) sein: IDataObject'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IDataObject"
    C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(12677) : error C2872: 'IDataObject': Mehrdeutiges Symbol
            kann 'C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948) sein: IDataObject'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IDataObject"
    C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(12682) : error C2872: 'IDataObject': Mehrdeutiges Symbol
            kann 'C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948) sein: IDataObject'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IDataObject"
    C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(12688) : error C2872: 'IDataObject': Mehrdeutiges Symbol
            kann 'C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948) sein: IDataObject'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IDataObject"
    C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(12693) : error C2872: 'IDataObject': Mehrdeutiges Symbol
            kann 'C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948) sein: IDataObject'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IDataObject"
    C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(12700) : error C2872: 'IDataObject': Mehrdeutiges Symbol
            kann 'C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948) sein: IDataObject'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IDataObject"
    c:\programme\microsoft sdks\windows\v6.0a\include\oleidl.h(374) : error C2872: 'IDataObject': Mehrdeutiges Symbol
            kann 'C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948) sein: IDataObject'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IDataObject"
    c:\programme\microsoft sdks\windows\v6.0a\include\oleidl.h(1151) : error C2872: 'IDataObject': Mehrdeutiges Symbol
            kann 'C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948) sein: IDataObject'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IDataObject"
    c:\programme\microsoft sdks\windows\v6.0a\include\oleidl.h(1157) : error C2872: 'IDataObject': Mehrdeutiges Symbol
            kann 'C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948) sein: IDataObject'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IDataObject"
    c:\programme\microsoft sdks\windows\v6.0a\include\oleidl.h(3288) : error C2872: 'IDropTarget': Mehrdeutiges Symbol
            kann 'c:\programme\microsoft sdks\windows\v6.0a\include\oleidl.h(173) sein: System::Windows::Forms::IDropTarget IDropTarget'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IDropTarget"
    c:\programme\microsoft sdks\windows\v6.0a\include\oleidl.h(3288) : error C3699: "*": Diese Referenzierung kann nicht für den Typ "IDropTarget" verwendet werden.
            Der Compiler ersetzt "*" durch ^", um die Analyse fortzusetzen.
    c:\programme\microsoft sdks\windows\v6.0a\include\oleidl.h(3328) : error C2371: 'IDropTarget': Neudefinition; unterschiedliche Basistypen
            c:\programme\microsoft sdks\windows\v6.0a\include\oleidl.h(173): Siehe Deklaration von 'IDropTarget'
    c:\programme\microsoft sdks\windows\v6.0a\include\oleidl.h(3332) : error C2872: 'IDataObject': Mehrdeutiges Symbol
            kann 'C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948) sein: IDataObject'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IDataObject"
    c:\programme\microsoft sdks\windows\v6.0a\include\oleidl.h(3345) : error C2872: 'IDataObject': Mehrdeutiges Symbol
            kann 'C:\Programme\Microsoft SDKs\Windows\v6.0A\include\objidl.h(5948) sein: IDataObject'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\system.windows.forms.dll : System::Windows::Forms::IDataObject"
    c:\programme\microsoft sdks\windows\v6.0a\include\servprov.h(96) : error C2872: 'IServiceProvider': Mehrdeutiges Symbol
            kann 'c:\programme\microsoft sdks\windows\v6.0a\include\servprov.h(53) sein: System::IServiceProvider IServiceProvider'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::IServiceProvider"
    c:\programme\microsoft sdks\windows\v6.0a\include\servprov.h(96) : error C3699: "*": Diese Referenzierung kann nicht für den Typ "IServiceProvider" verwendet werden.
            Der Compiler ersetzt "*" durch ^", um die Analyse fortzusetzen.
    c:\programme\microsoft sdks\windows\v6.0a\include\servprov.h(103) : error C2371: 'IServiceProvider': Neudefinition; unterschiedliche Basistypen
            c:\programme\microsoft sdks\windows\v6.0a\include\servprov.h(53): Siehe Deklaration von 'IServiceProvider'
    c:\programme\microsoft sdks\windows\v6.0a\include\servprov.h(120) : error C2872: 'IServiceProvider': Mehrdeutiges Symbol
            kann 'c:\programme\microsoft sdks\windows\v6.0a\include\servprov.h(103) sein: IServiceProvider'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::IServiceProvider"
    c:\programme\microsoft sdks\windows\v6.0a\include\servprov.h(235) : error C2872: 'IServiceProvider': Mehrdeutiges Symbol
            kann 'c:\programme\microsoft sdks\windows\v6.0a\include\servprov.h(103) sein: IServiceProvider'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::IServiceProvider"
    c:\programme\microsoft sdks\windows\v6.0a\include\servprov.h(242) : error C2872: 'IServiceProvider': Mehrdeutiges Symbol
            kann 'c:\programme\microsoft sdks\windows\v6.0a\include\servprov.h(103) sein: IServiceProvider'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::IServiceProvider"
    C:\Programme\Microsoft SDKs\Windows\v6.0A\include\urlmon.h(5854) : error C2872: 'IServiceProvider': Mehrdeutiges Symbol
            kann 'c:\programme\microsoft sdks\windows\v6.0a\include\servprov.h(103) sein: IServiceProvider'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::IServiceProvider"
    C:\Programme\Microsoft SDKs\Windows\v6.0A\include\urlmon.h(5856) : error C2872: 'IServiceProvider': Mehrdeutiges Symbol
            kann 'c:\programme\microsoft sdks\windows\v6.0a\include\servprov.h(103) sein: IServiceProvider'
            oder "c:\windows\microsoft.net\framework\v2.0.50727\mscorlib.dll : System::IServiceProvider"
    

    was ist bei mir falsch?

    mfg gimme_bottles



  • Ich glaube, dein Fehler ist, dass du nicht VC++ und MFC programmieren willst, sondern C++/CLI. OpenCV ist aber in C++ geschrieben und verträgt sich scheinbar nicht mit deinem managed Kram. Aber Google hilft: http://code.google.com/p/opencvdotnet/


Anmelden zum Antworten