Undefined reference to fork() in Code::Blocks editor in Windows OS

Rasmi Ranjan Nayak picture Rasmi Ranjan Nayak · Jan 11, 2012 · Viewed 27k times · Source

When I am running below code in Code::Blocks in Windows OS. I used to get an error called undefined reference to fork(). I did set/choose GCC compiler as my default compiler.

#include<stdio.h>       
#include<unistd.h>          
void main()          
{       
 int x;       
 x = 0;       
 fork();       
 x = 1;        
 ...     
 ....    
}

Please help me and tell me, can I right unix/linux programs in Code::Blocks in windows environment?

And I write another program,

main()
{
  int x = 0;
  if(x == 0)
  {
    printf("X = %d", x);
    sleep(1000);//used delay also
    x = 1;
    printf("Now X = %d", x);;
  }
}

Here it gives eroor that undefined reference to sleep() and / * delay also* /.
Please help me.

Answer

cha0site picture cha0site · Jan 11, 2012

No, you can't write Unix code on Windows like that, no matter what IDE you use. However, you should try cygwin, and that should provide the compatibility layer you need.

2017 update: These days we also have Windows Subsystem for Linux.