[MinGWDevelopment Studio] *.c vom C-Compiler kompilieren lassen



  • Hallo,
    ich arbeite gerade mit dem Mingw Studio, dass Problem ist, dass ich eine Mischung aus C und C++ Code damit zum laufen bekommen muss (vom MSVC++).

    Aber leider scheint das MinGWStudio auch den C Code mit dem C++ Compiler zu kompilieren (wobei ich dachte, dass der GCC das automatisch an der Endung aussucht und der MinGW ja ein GCC Port ist). Das sorgt natürlich dafür, dass einige Dinge Fehler melden, die mit einem C-Compiler keine Fehler melden (ich sag nur malloc).

    Wie kann ich dafür sorgen, dass das MinGW Studio C Dateien mit einem C-Compiler kompiliert?



  • *push*

    nebenbei hab ich noch eine Frage zum MinGW Compiler.

    a) Irgend wie fehlen dem Compiler einige WinAPI Funktionen wie _unlink, dachte der greift bei der WinAPI einfach auf die Standard Library zurück 😕
    b) Folgt er dem GCC damit, dass er -lfoo als libfoo.a/libfoo.lib sucht? Oder ist das dem Windows Style foo.lib/foo.dll angepasst?



  • WinAPI Funktionen wie _unlink

    Das ist doch gar keine WinAPI Funktion 😕 😕



  • okay, hab jetzt selber rausgefunden, dass MinGW

    a) libfoo.a erwartet
    b) _unlink Teil der MSVC++-LIBC ist und nicht der WinAPI (dachte immer, dass das Teil der WinAPI sei, zur POSIX kompatibilität, mit der MS ja bei WinNT so viel Werbung gemacht hat)
    Aber wie kann ich unlink, chsize und open_osfhandle beim MinGW ersetzen?



  • unlink => DeleteFile

    chsize => SetFilePointer(Ex) und SetEndOfFile



  • danke, hab mir aber einen passenden Workarround gebastelt, die FUnktionen sind wohl vorhanden, nur die Header sind leider nicht passend

    #ifdef __GNUC__
    extern "C" int _chsize(int,long);
    //...
    #endif
    

Anmelden zum Antworten