Name mangling verhindern
-
Ich nutze das VC2005, um eine DLL zu erstelllen. Gibt es da irgend eine Möglichkeit das name mangling zu verhindern?
Meine DLL sieht so aus:
#include "stdafx.h" #include "FirstDLL.h" BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { return TRUE; } EXPORT int add(int a,int b) { return a+b; }Die Datei hat die Endung cpp. Ändere ich sie nach c, bekomme ich die Fehlermeldung:
Fehler 1 fatal error C1853: Die vorkompilierte Header-Datei "Debug\FirstDLL.pch" stammt von einer früheren Version des Compilers, oder der vorkompilierte Header stammt von C++, und Sie verwenden Ihn von C (oder umgekehrt) c:\dokumente und einstellungen\mp\eigene dateien\visual studio 2005\projects\firstdll\firstdll\firstdll\firstdll.c 4
-
Hallo,
du must die exportierten Funktionen mit
extern "C"exportieren.
Siehe auch diesen Beitrag:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-156186.html
-
Prima. Danke. Aber irgendwie habe ich über die Suche nichts gefunden.