急问一个Dev-C++编译时无法包含头文件的问题

wannafree 2007-04-10 11:23:28
我建了一个类
声明放到.h文件里
如下
#ifndef LIB_H
#define LIB_H
#include"string.h"
struct Lib{
string a,b,c;
};
#endif

另建一个cpp文件如下
#include"iostream"
#include"Lib.h"
#include"string.h"
using namespace std;

int main(){
Lib x;
x.a="a";
x.b="b";
x.c="c";
cout<<x.a<<x.b<<x.c<<endl;
system("pause");
return 0;
}
这两个文件我放在同一个文件夹里
用DevC++编译后出错(同时打开这两个文件)
提示找不到Lib.h文件

据说用VC的话只要把头文件和实现文件放在同一个文件夹里,它自己会找到头文件
但是DevC++应该怎么做才能自动包含头文件呢?
谢谢
...全文
2189 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuhaoran 2007-04-10
  • 打赏
  • 举报
回复
你在dev 那里新一个工程,,如果在新建两个单元,,并把名字改成一个是main.cpp ,一个是Lib.h
里面分别放你对应的代码就可以运行了....奇怪的是,,,我在lib.h文件里面要加个using namespace std;才能正常运行= =..这个是为什么,我都被弄糊涂了,....= =请人解释下这个为什么
taodm 2007-04-10
  • 打赏
  • 举报
回复
你能不能不要用中文路径再试试?
wannafree 2007-04-10
  • 打赏
  • 举报
回复
我代码不是贴出来了吗?
保存为Lib.h也不行
taodm 2007-04-10
  • 打赏
  • 举报
回复
2:14: Lib: No such file or directory,没报说lib.h找不到,只说找不到lib。
贴你现在的代码。
yuyunliuhen 2007-04-10
  • 打赏
  • 举报
回复
DevC++应该也能自动包含头文件,和VC++方法一样的啊
以前我就有专门试过

#ifndef LIB_H
#define LIB_H
#include"string.h"
struct Lib{
string a,b,c;
};
#endif
把它保存为 Lib.h
wannafree 2007-04-10
  • 打赏
  • 举报
回复
这个问题和是否中文文件名没关系的
换了英文名还是不能包含Lib。h文件
taodm 2007-04-10
  • 打赏
  • 举报
回复
不要用中文文件名,中文目录也很危险。
wannafree 2007-04-10
  • 打赏
  • 举报
回复
用DevC++怎么总是有一些奇怪的错误冒出来
wannafree 2007-04-10
  • 打赏
  • 举报
回复
Compiler: Default compiler
Executing g++.exe...
g++.exe "C:\Documents and Settings\Owner\桌面\新建文件夹\新建 文本文档 (2).cpp" -o "C:\Documents and Settings\Owner\桌面\新建文件夹\新建 文本文档 (2).exe" -I"F:\cpp\Dev-Cpp\lib\gcc\mingw32\3.4.2\include" -I"F:\cpp\Dev-Cpp\include\c++\3.4.2\backward" -I"F:\cpp\Dev-Cpp\include\c++\3.4.2\mingw32" -I"F:\cpp\Dev-Cpp\include\c++\3.4.2" -I"F:\cpp\Dev-Cpp\include" -L"F:\cpp\Dev-Cpp\lib"
C:\Documents and Settings\Owner\桌面\新建文件夹\新建 文本文档 (2).cpp:2:14: Lib: No such file or directory
C:\Documents and Settings\Owner\桌面\新建文件夹\新建 文本文档 (2).cpp: In function `int main()':
C:\Documents and Settings\Owner\桌面\新建文件夹\新建 文本文档 (2).cpp:7: error: `Lib' undeclared (first use this function)
C:\Documents and Settings\Owner\桌面\新建文件夹\新建 文本文档 (2).cpp:7: error: (Each undeclared identifier is reported only once for each function it appears in.)
C:\Documents and Settings\Owner\桌面\新建文件夹\新建 文本文档 (2).cpp:7: error: expected `;' before "x"
C:\Documents and Settings\Owner\桌面\新建文件夹\新建 文本文档 (2).cpp:8: error: `x' undeclared (first use this function)

Execution terminated
wannafree 2007-04-10
  • 打赏
  • 举报
回复
\Documents and Settings\Owner\桌面\新建文件夹\新建 文本文档 (2).cpp C:\Documents and Settings\Owner\桌面\新建文件夹\C Lib: No such file or directory.
taodm 2007-04-10
  • 打赏
  • 举报
回复
把出错信息完整贴出来。
wannafree 2007-04-10
  • 打赏
  • 举报
回复
我这里已经装了MingW啊
当时安装DevC++的时候它就问我要不要装这个
还说和头文件有关
我选择安装
而且我把DevC++卸了装装了卸好几次了
每次都选择安装Mingw
但是还是不能包含自己写的头文件
iu_81 2007-04-10
  • 打赏
  • 举报
回复
程序肯定没有问题
4960 也没问题
只有 4980 的命令行通不过
iu_81 2007-04-10
  • 打赏
  • 举报
回复
下载: MinGW.
http://prdownloads.sourceforge.net/mingw/MinGW-3.1.0-1.exe?download

安装,安装路径为 D:\tool\Dev-Cpp

安装完成后.
设置 系统变量 path=D:\tool\Dev-Cpp\bin;%path%
wannafree 2007-04-10
  • 打赏
  • 举报
回复
如果我这么写
编译就通过了
#include"iostream"
#include"string.h"
using namespace std;
struct Lib{
string a,b,c;
};
int main(){

Lib x;
x.a="a";
x.b="b";
x.c="c";
cout<<x.a<<x.b<<x.c<<endl;
system("pause");
return 0;
}
wannafree 2007-04-10
  • 打赏
  • 举报
回复
是找不到我建的头文件Lib.h
不是string.h的问题
dx30611 2007-04-10
  • 打赏
  • 举报
回复
#include<string>
不是 string.h
wannafree 2007-04-10
  • 打赏
  • 举报
回复
Dev实在太诡异了
有时候编译会出现一大堆莫名其妙的错误
放到那里不管它
过一会再编译又会通过

64,652

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧