mingw -> beim umbenennen von dllmain.C in dllmain.CPP plötzlich kein DllMain()-Aufruf bei LoadLibrary()
-
Hallo,
ich hab grade ein komisches Problem.
Um QT zu compilieren muss meine dllmain auf .cpp enden, wenn ich diese aber umbenenne compiliert alles zwar ohne Fehler, beim laden der DLL wird aber die DllMain nicht mehr ausgeführt?!Wenn ich den QT Code rausnehme und dann NUR dllmain.cpp in dllmain.c umbenenne funktioniert alles und die DllMain wird aufgerufen

An was kann das liegen?
mfg
-
Habe vergessen zu erwähnen: Ich nutze Dev-Cpp und die einzigen Unterschiede laut Compilelog sind:
1. Die .c Dll nutzt gcc.exe, die .cpp Dll g++.exe (trotzdem die gleichen Parameter beim aufrufen der beiden compiler)
2. Die .cpp Dll übergibt an dllwrap.exe zusätzlich "--driver-name c++"Kann es an Punkt 2 liegen warum bei der .cpp Dll die DllMain nicht aufgerufen wird?
mfg
-
Nimmst du die Bloodsheed IDE?
-
Ich rate mal ins Blaue und sage: Durch das Ändern der Extension wird die Datei nun als C++ Code kompiliert was dazu führt dass der Linker wegen Name Mangling keine DllMain mehr sieht und einen Stub dafür generiert.
Abgesehen davon kann ich dir nur von ganzem Herzen dazu raten Dev-C++ in die Tonne zu treten und was anständiges zu benutzen.
-
Hey

Es lag tatsächlich am Name Mangling und ein
extern "C" BOOL APIENTRY DllMain (hat den Fehler behoben!
Danke für die Hilfe!