Ich habe ein normales VC++ Projekt, das C code und C++ code (von MFC umgeschrieben) enthält. und beim Debuggen gibt es folgende Fehler.
Kann Jemand mir sagen, wie ich diese Fehler beheben kann?
Vielen Dank im Voraus!
Fehler 4 error C2732: linkage specification contradicts earlier specification for 'operator delete' CProgram Files\Microsoft Visual Studio 8\VC\include\new 53 Fehler 5 error C2732: linkage specification contradicts earlier specification for 'operator new' CProgram Files\Microsoft Visual Studio 8\VC\include\new 54 Fehler 6 error C2733: second C linkage of overloaded function 'operator delete[]' not allowed CProgram Files\Microsoft Visual Studio 8\VC\include\new 80 Fehler 7 error C2733: second C linkage of overloaded function 'operator new[]' not allowed CProgram Files\Microsoft Visual Studio 8\VC\include\new 83 Fehler 8 error C2733: second C linkage of overloaded function 'operator new' not allowed CProgram Files\Microsoft Visual Studio 8\VC\include\new 88 Fehler 10 error C2733: second C linkage of overloaded function 'operator delete' not allowed CProgram Files\Microsoft Visual Studio 8\VC\include\new 94 Fehler 11 error C2733: second C linkage of overloaded function 'operator delete[]' not allowed CProgram Files\Microsoft Visual Studio 8\VC\include\new 97 Fehler 12 error C2732: linkage specification contradicts earlier specification for 'operator new[]' CProgram Files\Microsoft Visual Studio 8\VC\include\crtdbg.h 1118 Fehler 13 error C2732: linkage specification contradicts earlier specification for 'operator delete[]' CProgram Files\Microsoft Visual Studio 8\VC\include\crtdbg.h 1135
Fehler 14 error C2894: templates cannot be declared to have 'C' linkage CProgram Files\Microsoft Visual Studio 8\VC\include\iosfwd 39 Fehler 27 error C2733: second C linkage of overloaded function 'std::_Traits_helper::copy_s' not allowed CProgram Files\Microsoft Visual Studio 8\VC\include\iosfwd 591 Fehler 32 error C2733: second C linkage of overloaded function 'std::_Traits_helper::move_s' not allowed CProgram Files\Microsoft Visual Studio 8\VC\include\iosfwd 618 Fehler 51 error C2894: templates cannot be declared to have 'C' linkage CProgram Files\Microsoft Visual Studio 8\VC\include\utility 15 Fehler 62 error C2733: second C linkage of overloaded function 'std::swap' not allowed CProgram Files\Microsoft Visual Studio 8\VC\include\utility 119 Fehler 67 error C2733: second C linkage of overloaded function 'std::_Debug_message' not allowed CProgram Files\Microsoft Visual Studio 8\VC\include\xutility 66 Fehler 69 error C2733: second C linkage of overloaded function 'std::_Debug_get_cont' not allowed CProgram Files\Microsoft Visual Studio 8\VC\include\xutility 232 Fehler 72 error C2733: second C linkage of overloaded function 'std::_Debug_lt' not allowed CProgram Files\Microsoft Visual Studio 8\VC\include\xutility 259
Du hast anscheinend versucht, überladene Funktionen und Funktionsvorlagen als extern "C" zu exportieren, was nicht geht. Das C-ABI gibt solche Scherze nicht her.
Wild daran ist, dass die Fehler in Systemheadern auftreten. Du machst doch nicht etwa etwas in der Art:
C++:
extern"C" { #include <...> }
, oder? -- Einfachheit ist Voraussetzung für Zuverlässigkeit. -- Edsger Wybe Dijkstra