C-Programm in MFC benutzen



  • Hallo Leutz,
    ich soll ein C++ Programm mithilfe das MS Visual 6 schreiben. Diese Programm greift allerdings an einer Stelle auf eine *.c Datei zurück (zumindest soll es das!).
    Den Header der *.c Datei habe ich noch Problemlos in die MFC Anwendung bekommen (hab aber inzwischen wie ich das gemach habe irgendwas mit ..."C" und dann die C-Headerdatei). Die *.c Datei will sich aber nicht kompilieren lassen. Hat jemand eine Ahnung wie das ungefähr funktonier? z.B über Compiler schalter? Bin für jeden Tipp dankbar!



  • 1. Du hast die C-Header korrekt abgeändert?

    im Prinzip muss das so aussehen (beispielheader.h):

    vor der Anpassung:

    // Hier folgen die C-Deklarationen, also der Inhalt deiner <name>.h Datei, z.B.:
    #include <aptypes.h>
    
    extern int beispielfunktion1( char *str, char *routine );
    extern int beispielfunktion2( tBool , tName );
    

    nach der Anpassung:

    #ifdef __cplusplus
    extern "C" {
    #endif
    
    // Hier folgen die C-Deklarationen, also der Inhalt deiner <name>.h Datei, z.B.:
    #include <aptypes.h>
    
    extern int beispielfunktion1( char *str, char *routine );
    extern int beispielfunktion2( tBool , tName );
    
    // usw
    //Am Ende steht:
    
    #ifdef __cplusplus
    }
    #endif
    
    // Denn die oben geöffnete Klammer muss wieder geschlossen werden.
    

    Nun solltest du C-Libraries, in denen durch die Header deklarierte Funktionen benutzt werden, verwenden können.

    2. Bei der Kompilierungsart könntest Du, wenn Du eigene .c Dateien verwenden willst, noch einstellen:

    VStudio: Projekt -> Eigenschaften -> C/C++ -> Erweitert -> Kompilierungsart: Standard

    Soweit ich weiss, sollten dann die Dateien entsprechend ihrer Dateiendung kompiliert werden.

    3. Was bekommst Du vom Compiler für Fehlermeldungen? Sowas hilft immer.



  • Vielen Dank für deine ausführliche und schnelle Antwort!
    Super!!! 😃


Anmelden zum Antworten