sem.h Problem

icu222much's Avatar, Join Date: Feb 2010
Newbie Member
I am trying to program with semaphores and was told that I should use sem.h. When I compile, I get the error: "sys/sem.h: No such file or directory". How can I fix my problem?

Code:
#include <stdio.h>
#include <sys/sem.h>


int main() {
    printf("I am alive \n");
    getchar();
    return 0;
}
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
Remove that line
icu222much's Avatar, Join Date: Feb 2010
Newbie Member
Removing that line would get rid of the error, but I still would like to use semaphores.
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
Quote:
Originally Posted by icu222much View Post
Removing that line would get rid of the error, but I still would like to use semaphores.
But if that file isn't there in your system and so having that file is not the way out.
icu222much's Avatar, Join Date: Feb 2010
Newbie Member
How would I get that file onto my computer?

I found sem.h, downloaded it, and placed it in the directory (C:\Program Files (x86)\CodeBlocks\MinGW\include). When I ran my program, the compiler said there were lots of problems with sem.h. After doing some research, I found out that I can't just add sem.h as this is just a 'pointer' file which is suppose to point to the actual code behind this function. I am trying to find how to get the actual code on my computer.

Sorry, I am very new to programming in C.
shabbir's Avatar, Join Date: Jul 2004
Go4Expert Founder
If you are new try your hands on basics as that file may be in some external package which you may need to install
xpi0t0s's Avatar, Join Date: Aug 2004
Mentor
Semaphores are done differently on Windows than on Unix/Linux. sem.h and the related libraries are Unix. If you're programming Windows then you'll need to know about MSDN. Here's a demo program for semaphores on MSDN:

http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx