.h和.cpp文件是否一定要在同一目录下

韦翔罂 2007-11-06 11:37:33
大家好!请问
(1)自己写的.h文件和包含该.h文件的.cpp文件是否一定要放在同一目录下才行?
(2)如果不在同一目录下,.cpp文件就无法正常编译吗?或.cpp文件编译得到的.exe文件不能正常执行?
(3)为什么一定要把.h文件和包含该.h文件的.cpp文件都放入工程中才行呢?是不是因为如上两个问题的原因,所以只有这样才能正常编译.cpp文件或.exe文件才能正常执行?
谢谢!
...全文
1233 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiaqiangscut00 2007-11-07
  • 打赏
  • 举报
回复
建议你自己 用以上 各种办法试一下
visame 2007-11-07
  • 打赏
  • 举报
回复
同意楼上的几位!
显然没有必要都放在一个路径,只要指定路径就可以了
目录可以是相对目录,可以是绝对目录
windows下不区分大小写
linux下区分大小写
#include "..\x.h "//x.h在上层目录

#include "dir\x.h "//x.h在dir目录

include ".\x.h "//x.h在上层目录的某个文件夹
yuyunliuhen 2007-11-06
  • 打赏
  • 举报
回复
先弄清这些是什么文件吧^_^
韦翔罂 2007-11-06
  • 打赏
  • 举报
回复
那么还请问,在.cpp文件中包含.h、.lib、.obj、.dll文件的具体的语句是怎样的,我的书里都没说,谢谢!
zhangyanli 2007-11-06
  • 打赏
  • 举报
回复
不一定的,要是那样的话就麻烦了,你的导入的lib文件中的头文件都在你的目录下吗?

都可以设置的.
0黄瓜0 2007-11-06
  • 打赏
  • 举报
回复
#include "..\x.h"//x.h在上层目录

#include "dir\x.h"//x.h在dir目录

include ".\x.h"//x.h在上层目录的某个文件夹中
weiym 2007-11-06
  • 打赏
  • 举报
回复
VC里的路径头文件路径,Obj文件路径,Lib文件路径都是可以设置的,LZ要熟悉下开发环境
比如头文件,在setting - c/c++ - preProcessor里设置
mimong_lin 2007-11-06
  • 打赏
  • 举报
回复
这个,动一手比较好的.

成与不成看结果再说,要是出错了,再来问吧.这样的效果应该会好一点的.
god_sun 2007-11-06
  • 打赏
  • 举报
回复
不需要同一目录。
包含头文件的时候把目录名字填进去就行了。
neversaydie518 2007-11-06
  • 打赏
  • 举报
回复
严重建议LZ动手试试看结果
ctaiqqh 2007-11-06
  • 打赏
  • 举报
回复
用#include "X:\\...\\XXXX.h "
如果还不明白,可以baidu下,看看具体的例子
就呆在云上 2007-11-06
  • 打赏
  • 举报
回复
其实可以不放在一个目录下的
但是一般是建的是一个工程文件,呵呵,所以就自动在一起了
你可以这样:
用#include "X:\\...\\XXXX.h"
这种方式来达到你的目的!
Eleve 2007-11-06
  • 打赏
  • 举报
回复
路过。学习
Wolf0403 2007-11-06
  • 打赏
  • 举报
回复
真的应该建议孩子们都用 GCC 手工开始编译第一个程序……像 Java JDK 派学习。
kelvenyiu 2007-11-06
  • 打赏
  • 举报
回复
不是必要的,不过没有人愿意做麻烦事
可以include 路径,
可以自己写个makefile里设定路径
天亮后说晚安 2007-11-06
  • 打赏
  • 举报
回复
liulang浏览一下
xiantongyuan 2007-11-06
  • 打赏
  • 举报
回复
1:.h 和.cpp文件不是必须要在同一个目录下面的,这样只是为了书写和管理。

2:你可以通过保存完全路径来进行访问,编译出来的exe可以运行,此时exe文件与你的.h和.cpp文件没有任何关系。

3:不是必要的。在你的.cpp文件头可以这样写 #include X:\\...\\XXXX.h
飞哥 2007-11-06
  • 打赏
  • 举报
回复
显然没有必要都放在一个路径,只要指定路径就可以了
目录可以是相对目录,可以是绝对目录
windows下不区分大小写
linux下区分大小写
[说明] 本文件所在目录应该包含如下文件: icrEdit\ - 目录,icrEdit编辑器的源码 演示例程\ - 目录,演示CSynEditView使用方法的例程 语法编辑类\ - 目录,CSynEditView的头文件和实现文件 使用说明.txt - 本文件,说明书 riched20.dll - CSynEditView必须的支持文件,请留意其版本号5.30.23.1209,文件大小:431888 (如果看不到文件riched20.dll,请在文件夹选项对话框的查看TAB中将隐藏文件文件夹选为 显示文件文件夹) [简介] CSynEditView一个支持语法编辑的类,你只要简单的将该类引入你的工程,便可轻松的获得如VC++和VB编程环境中的语法编辑能力。 [使用方法] 1、新建一个工程,在第六步将视类的基类改为CRichEditView。 2、在VC环境中选 Project->Add to Project->Files,将SynEditView.h和SynEditView.cpp引入工程。 3、将你的视类中的CRichEditView字符串全部改为CSynEditView,在你的视类头文件中用#include引入SynEditView.h文件。 4、按F7编译该工程,然后将riched20.dll复制到可执行文件同一目录下。也就是说,如果你用Debug模式编译,将riched20.dll复制到Debug\目录下,如果你用Release模式编译,将riched20.dll复制到Release\目录下。 5、按F6执行。 [注意] 1、为了使程序能正常执行,必须保证riched20.dll同执行文件同一目录。 2、CSynEditViw暂不支持中文,如果文本中含有中文字符,可能会引起乱码,请自行更改代码。

64,648

社区成员

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

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