日期:2014-05-16 浏览次数:20713 次
/tmp/ccc10ZBt.o: In function `main':
mqcreatel.c:(.text+0x93): undefined reference to `mq_open'
mqcreatel.c:(.text+0xa1): undefined reference to `mq_close'
collect2: ld returned 1 exit status
#include <mqueue.h>
#include <sys/stat.h>
#include <string.h>
#include <stdio.h>
#define MQ_FILE "/mq_test"
#define BUF_LEN 128
int main(void)
{
mqd_t mqd;
char buf[BUF_LEN];
int por = 0;
int ret = 0;
struct mq_attr attr;
attr.mq_flags = 0;
attr.mq_maxmsg = 3;
attr.mq_msgsize = 50;
attr.mq_curmsgs= 0;
mqd = mq_open(MQ_FILE, O_WRONLY,0666,&attr);
if (-1 == mqd)
{
printf("mq_open error.\n");
return -1;
}
do{
buf[BUF_LEN-1]='\0';
printf("MQ_MSG : ");
scanf("%s", buf);
if(buf[BUF_LEN-1]!= '\0')
{
continue;
}
printf("strlen:%d\nMQ_POR : ",strlen(buf));
scanf("%d", &por);
ret== mq_send(mqd, buf, strlen(buf)+1, por);
if (ret != 0)
{
perror("mq_send error.\n");
}
memset(buf,'\0',BUF_LEN);
}while(strcmp(buf, "quit"));
mq_close(mqd);
mq_unlink(MQ_FILE);
return 0;
}