Hallo zusammen, ich stelle gerade mit Erstaunen fest, dass unter MinGW 64 die Funktion "strsep()" (Ersatz für strtok()) unbekannt zu sein scheint - ganz im Gegenteil zu ARM-GCC und AVR-GCC. Weiss jemand, an welche Einstellung das Vorhandensein dieser Funktion gekoppelt ist? Viele Grüße W.T.
Walter T. schrieb: > Hallo zusammen, > > ich stelle gerade mit Erstaunen fest, dass unter MinGW 64 die Funktion > "strsep()" (Ersatz für strtok()) unbekannt zu sein scheint - ganz im > Gegenteil zu ARM-GCC und AVR-GCC. Das Konzept von MinGW ist, Zitat von der Webseite: >> MinGW compilers provide access to the functionality of the Microsoft C >> runtime and some language-specific runtimes. Das heißt, du bekommst einen Compiler der die Microsoft-Bibliotheken nutzt. Ist da kein strsep() drin (habe ich nicht kontrolliert), dann hast du kein strsep(). > Weiss jemand, an welche Einstellung das Vorhandensein dieser Funktion > gekoppelt ist? Noch ein Zitat: >> MinGW, being Minimalist, >> does not, and never will, attempt to provide a POSIX runtime environment >> for POSIX application deployment on MS-Windows. Das heißt, "wenn nicht ist, dann ist nicht" und wird auch nicht kommen. Die Lösung? Letztes Zitat: >> If you want POSIX >> application deployment on this platform, please consider Cygwin instead. * Compiler wechseln. Oder, wenn das nicht geht, z.B.: * Source-Code für strsep() suchen (https://www.mail-archive.com/busybox@busybox.net/msg11257.html letzter Teil des Patches) * Anhand der man-Page selber programmieren. * strtok() nehmen
Busybox ist GPL. Für eigene Projekte würde ich lieber bei den *BSD nachschauen, ob da ein strsep() drin ist.
Dr. Sommer schrieb: > strsep() ist halt nicht Teil des C-Standards Es ist nicht Teil des Standards. Trotzdem liefert GCC in einigen Geschmacksrichtungen es mit.
Walter T. schrieb: > Dr. Sommer schrieb: >> strsep() ist halt nicht Teil des C-Standards > > Es ist nicht Teil des Standards. Trotzdem liefert GCC in einigen > Geschmacksrichtungen es mit. Nicht gcc liefert das mit, sondern die libc. Und das ist im Falle von mingw halt die von Microsoft.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.