C++头文件包含了,还打不开?

//abc.cpp#include<iostream>#include"printBinary.h"usingnamespacestd;voidmain(){chara=... //abc.cpp
#include <iostream>
#include "printBinary.h"
using namespace std;

void main()
{
char a=8;
printBinary(a);

}

//printBinary.cpp
#include <iostream>
void printBinary(const unsigned char val) {
for(int i = 7; i >= 0; i--)
if(val & (1 << i))
std::cout << "1";
else
std::cout << "0";
} ///:~

//printBinary.h
void printBinary(const unsigned char val);
1建工程
2添加文件 printBinary.h 和printBinary.cpp
3编辑 abc.cpp
PS:
工程和 printBinary.h 和printBinary.cpp不在一个目录,
出现No such file or directory//找不到printBinary.h
但是在工程里面头文件里面有了printBinary.h ,为什么会这样?
我把printBinary.h 复制到工程目录就好了,哪位大虾解释下?
展开
 我来答
生如红莲
推荐于2016-03-17
知道答主
回答量:14
采纳率:0%
帮助的人:14万
展开全部
包含头文件里面如果没有写路径就必须是在当前路径或系统路径中存在的。
解决方法:
1,你所用的那个方法,也即拷贝到同一路径下
2,include中加上相对路径,比如"a/printBinary.h"
3,在项目属性中设置include路径。
jaycnvip
2009-03-09 · TA获得超过767个赞
知道小有建树答主
回答量:998
采纳率:100%
帮助的人:644万
展开全部
文件在工程的编辑器里,不代表它是工程的文件,可能路径并不相同,必须让新建文件和工程产生联系,工程在编译时才会去连接它。

当你把文件复制到工程目当下时,因为工程目录是你的工作目录,所以在编译时会自动在这个目录里找文件,所以就会OK~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
不是很无知
2009-03-09 · TA获得超过677个赞
知道大有可为答主
回答量:2137
采纳率:0%
帮助的人:1435万
展开全部
如果你的头文件不在当前目录下需要在makefile里加上-I选项指定头文件所在的目录,如果在vc下就直接在include里加上你的头文件所在的目录就行了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友a799772
2009-03-09 · TA获得超过240个赞
知道小有建树答主
回答量:556
采纳率:0%
帮助的人:286万
展开全部
在开头写上#include "printBinary.h" ,系统默认你的printBinary.h就在你建立的工程里,编译系统就在你的工程里找文件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
情意绵绵d胸毛
2009-03-09 · TA获得超过324个赞
知道小有建树答主
回答量:728
采纳率:100%
帮助的人:247万
展开全部
-I include_path
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式