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/