- 论坛徽章:
- 2
|
如下这段代码如果用g++当成C++编译就可以编译过去,命令如下:
g++ -lrt main.cpp
但是如果用gcc当成C语言编译就编译不过去,命令如下:
gcc -lrt main.c
提示的错误如下:
main.c: In function ‘main’:
main.c:17: error: ‘S_IREAD’ undeclared (first use in this function)
main.c:17: error: (Each undeclared identifier is reported only once
main.c:17: error: for each function it appears in.)
main.c:17: error: ‘S_IWRITE’ undeclared (first use in this function)
另外,即使用g++编译过去了,运行时也会提示"mq_open: Permission denied".
请各位大侠帮忙解决一下子,兄弟这里先谢啦!
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <mqueue.h>
int main(void)
{
struct mq_attr mattr = {
0,
5,
10,
};
mqd_t mqid;
mqid = mq_open("/tmp/itk_av_msg",
O_CREAT | O_RDWR,
S_IREAD | S_IWRITE,
&mattr);
if((mqd_t)-1 == mqid)
{
perror("mq_open");
exit(1);
}
} |
[ 本帖最后由 ytsmtipe 于 2009-7-22 09:32 编辑 ] |
|