Linux系统下遇到的问题总结(未完)

解压缩权限丢失:

自己编写的头文件链接

无法正常引用结构体

无法正常引用系统头文件




解压缩权限丢失:

下载的压缩包要在Linux下解压缩,若在Windows下会丢失x权限

使用命令 chmod +x 添加权限

 

自己编写的头文件链接:

无法引用自己写的头文件 make后显示  error:xxx.h: No such file or directory

需要在makefile中指明头文件地址: 例如   gcc -c -I/home/sui/code/ main.c   

 

无法正常引用结构体:

函数 int router_traversal( struct ipc_socket *socket, struct process *head );-----b.c中定义  b.h声明

在编译时出现 warning:‘struct ipc_socket’ declared inside parameter list,

在b.c文件中引用的a.h定义的ipc_socket结构体,无法正常引用

由此我们可以知道,由于在a.h文件中,struct ipc_socket结构定义在函数声明int router_traversal( struct ipc_socket *socket, struct process *head );

之后,所以编译的时候将struct ipc_socket作为在参数列表中定义的空结构处理了,这样在编译b.h的时候便与真实的b.c函数定义冲突。

解决方法:在b.c中 #include "a.h" 放在 #include "b.h"之前


无法正常引用系统头文件:

在p_acquisition_C.c文件中使用信号灯进程线程同步,其中用到结构体sem_t 函数sem_init() sem_post() sem_wait() 调用头文件semaphorne.h 结果编译报错提示以上结构体与函数未声明。

解决方法:该文件放在windows操作系统与虚拟机的共享文件夹内,将其拷贝到Linux的文件系统下,可以正常编译通过。

问题:之前没有遇到过这个问题,为什么引用信号灯的时候会出现呢?请各位路过的大侠帮忙解答!!!!!!!!!!!!!万分感谢!!!!!!!!!!!!!!!!!!

posted on 2011-11-16 11:39  千兵卫博士  阅读(443)  评论(0编辑  收藏  举报

导航