Pipes/Forks unter MinGW mit GCC

mc_gulasch

Erfahrenes Mitglied
Heyho,

ich versuch grad ein C-Programm, das mit pipe() und fork() arbeitet unter Msys zum laufen zu bringen. Ich kompilier das ganze mittels gcc.

Daten:
Windows 2k
Msys 1.0
MinGW32 3.4.5
gcc 3.4.5 (mingw special)

Die Header im Programm:
Code:
#include <stdio.h>
#include <unistd.h>
#include </mingw/include/sys/types.h>
...

Da ich mich mit gcc nicht sonderlich gut auskenn, ist mein Aufruf blauäugig mal ohne Optionen:

Code:
$ gcc main.c 
C:/DOKUME~1/mga208/LOKALE~1/Temp/ccmabaaa.o:main.c:(.text+0x16e): undefined reference to `pipe'
C:/DOKUME~1/mga208/LOKALE~1/Temp/ccmabaaa.o:main.c:(.text+0x1b6): undefined reference to `fork'

Die Fehlermeldung sagt mir leider nix. Linker-Fehler vielleicht? Ich weiß auch nicht, was ich ändern soll, damit er die Dinger endlich kennt. Fehlt mir ne Option? Über

Code:
gcc --help

krieg ich auch nicht so die wünschenswerten Optionen und auch :google: bringt mich bei Eingabe der Fehlermeldung nicht weiter.
Wer erbarmt sich einem ein bisschen die Welt zu erklären

Danke sagt das Gulasch!
 
Hi.

Die Betriebssystemfunktionen fork und pipe sind -- nun ja, betriebssystemspezifisch. ;-)

Da MinGW nur ein "Kompatibilitätslayer" für Microsofts C Runtime Library ist, und Windows keine POSIX Plattform werden diese Funktionen nicht unterstützt.

Du könntest die Windows API Funktionen CreateProcess, CreatePipe etc. verwenden. Oder du nutzt Cygwin.

Gruß
 
Zurück