您好,欢迎来到[编程问答]网站首页   源码下载   电子书籍   软件下载   专题
当前位置:首页 >> 编程问答 >> C/C++ >> 编译时遇到no such file or directory

编译时遇到no such file or directory

来源:网络整理     时间:2016/7/19 1:36:41     关键词:

关于网友提出的“ 编译时遇到no such file or directory”问题疑问,本网通过在网上对“ 编译时遇到no such file or directory”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:

问题: 编译时遇到no such file or directory
描述:

在学数据结构 想用STACK处理一个 符号匹配的问题
编译的时候总碰到说stack_link.h或者是fatal.h  no such file or directory
但我确定把头文件都放到一个文件夹里了
还有就是 #include后面 用“ ” 和用< >效果不一样的 ms “”就可以 <> 就通不过..
我用的是C-Free
代码如下
stack_link.h
        #ifndef _Stack_h  
        #define _Stack_h
        struct Node;
        typedef struct Node *PtrToNode;
        typedef PtrToNode Stack;
        int IsEmpty( Stack S );
        Stack CreateStack( void );
        void MakeEmpty( Stack S );
        void Push( ElementType X, Stack S );
        void Pop( Stack S );
        #endif  /* _Stack_h */
——————————————————————
fatal.h
#include 
#include 
#define Error( Str )        FatalError( Str )
#define FatalError( Str )   fprintf( stderr, "%s\n", Str ), exit( 1 )
——————————————————————————————————
#include 
#include 
#include 
#include "stack_link.h"
struct Node{
int    a;
PtrToNode Next;
};
Stack CreateStack(void){
Stack S;
S = malloc(sizeof(struct Node));
if(S==NUll) FatalError("Out of Space!!");
MakeEmpty(S);
return S;
}
void MakeEmpty(Stack S){
if (S==NULL) Error("Must CreateStack first!");
else
while(!IsEmpty(S))
Pop(S);
}
int IsEmpty(Stack S)
return S->Next == Null;
void Pop(Stack S){
PtrToNode Fst;
if(IsEmpty(S)) Error("Empty Stack!!");
else{
Fst = S->Next;
S->Next= S->Next->Next;
free(Fst);
}
}
void Push(int x,Stack S){
PtrToNode Tmp;
Tmp = malloc(sizeof(struct Node));
if(Tmp == Null) FatalError("Out of  space!!");
else{
Tmp->a = x;
Tmp->Next = S->Next;
S->Next = Tmp;
}
}
int main()               /*Balancing Symbols*/
{
char c;
while((c=getchar())!='\n'){
if (c=='('||c=='['||c=='{')
Push(c,S);
else if(c==')'||c==']'||c=='}'){
if(IsEmpty(S)) printf("wrong order!");
else{ /*S is OK*/
if(Top(S)!=c) printf("wrong order!");
else
Pop(S);
}
}
}
if(!IsEmpty(S)) printf("wrong order!");
}


解决方案1:

自己写的头文件最好不要用#include 去引用,这样就要求你把文件放到系统头文件的目录下,你用的是C-Free,就把头文件拷贝到C-Free安装目录下的mingw32/Include目录,自己写的头文件最好是用#include "FILE.h" 去引用

解决方案2:

" "是从当前目录下查找文件,找不到再去安装目录下找
而<>直接去安装目录下找


以上介绍了“ 编译时遇到no such file or directory”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2790280.html

相关图片

相关文章