ich bin gerade dabei mein Lazarus Programm (Win32 GUI) zu debuggen, weil es plötzlich (ab Version Lazarus 1.6.2, Zur Zeit 1.6.4) nicht mehr die Bibliotheksfunktionen der externen C++ dll einbindet und direkt nach dem kompilieren bzw externen Aufruf abstürzt. Ob es etwas mit der Lazarus Version zu tun hat, möchte ich hier herausfinden. Der Absturz wird mit der Fehlermeldung: "Die Anwendung konnte nicht korrekt gestartet werden (0xc000007b). ...." begleitet und die GUI öffnet sich nicht.
Die Bibliothek (DLL) wird von einem MinGW Compiler auf Netbeans 8.2 (mit GCC 6) mit den Compileroptionen "-static-libgcc -static-libstdc++ -DHAVE_STRUCT_TIMESPEC" im Standard C++14 umgesetzt. Die zu exportierenden DLL Funktionen werden mit folgendem Syntax exportiert:
Code: Alles auswählen
#ifdef __cplusplus
extern "C" {
#endif
int32_t extern_nsifun(const char* password, int32_tcall_id);
const char* extern_getversion();
int32_textern_testfun(int32_t i);
#ifdef __cplusplus
}
#endif
const DLL_NAME='liblibfraes.dll';
Code: Alles auswählen
function extern_nsifun(password:Pchar;call_id:int32):int32; cdecl; external DLL_NAME;
function extern_getversion:Pchar; cdecl; external DLL_NAME;
function extern_testfun(ii:int32):int32; cdecl; external DLL_NAME;
ich bitte um Antwort, da ich hier nicht weiter komme...
Viele Grüße, Mojo