当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : makefile如何包含头文件???
帖子发表于 : 2009-06-08 14:45 

注册: 2008-07-10 15:08
帖子: 448
送出感谢: 0 次
接收感谢: 0 次
写了一个最简单的hello程序
.
|-- Makefile
|-- include
| `-- hello.h
`-- src
|-- hello.cpp
`-- main.cpp


hello.cpp:
#include<iostream>
#include"hello.h"
using namespace std;
void hello()
{
cout<<"Hello World"<<endl;
}

main.cpp:
#include<iostream>
#include"hello.h"
using namespace std;
int main()
{
hello();
return 0;
}

hello.h
#ifdef _HELLO_H__
#define _HELLO_H__
void hello();
#endif

Makefile
vpath %.cpp src
vpath %.h include
hello:main.o hello.o
g++ -o $@ main.o hello.o
main.o:main.cpp hello.h
g++ -c $< -I../include
hello.o:hello.cpp hello.h
g++ -c $< -I../include
.PHONY:clean
clean:
-rm hello hello.o
make的时候报错:
g++ -c ./src/main.cpp -I../include
./src/main.cpp:2:18: 错误: hello.h:没有该文件或目录
./src/main.cpp: In function ‘int main()’:
./src/main.cpp:6: 错误: ‘hello’在此作用域中尚未声明
make: *** [main.o] 错误 1

我想知道是我的Makefile文件写错了还是我的俄源文件写错了
错在哪?


页首
 用户资料  
 
2 楼 
 文章标题 : Re: makefile如何包含头文件???
帖子发表于 : 2009-06-08 16:28 
头像

注册: 2005-12-28 1:16
帖子: 3916
地址: 火星
系统: Ubuntu 12.10 X64
送出感谢: 1
接收感谢: 0 次
代码:
#ifdef _HELLO_H__
#define _HELLO_H__
void hello();
#endif


||
||
||
V

代码:
#ifndef _HELLO_H__
#define _HELLO_H__
void hello();
#endif


_________________
目前负债150多万


页首
 用户资料  
 
3 楼 
 文章标题 : Re: makefile如何包含头文件???
帖子发表于 : 2009-06-10 9:13 

注册: 2008-07-10 15:08
帖子: 448
送出感谢: 0 次
接收感谢: 0 次
xhy, 这里确实是错了,但是,还是出错
在我的main.cpp中有个一个include"hello.h"
修改后还是提示hello.h没有找到或者不存在
现在就成了这样一个问题,即我的main.cpp 和hello.cpp与hello.h没有在同一个路径下
该如何包含头文件


页首
 用户资料  
 
4 楼 
 文章标题 : Re: makefile如何包含头文件???
帖子发表于 : 2009-06-10 15:19 
头像

注册: 2005-12-28 1:16
帖子: 3916
地址: 火星
系统: Ubuntu 12.10 X64
送出感谢: 1
接收感谢: 0 次
代码:
main.o:main.cpp hello.h
    g++ -c $< -I include

hello.o:hello.cpp hello.h
    g++ -c $< -I include


makefile不在src里面, 不能../inclue


_________________
目前负债150多万


页首
 用户资料  
 
5 楼 
 文章标题 : Re: makefile如何包含头文件???
帖子发表于 : 2009-06-10 18:14 

注册: 2008-07-10 15:08
帖子: 448
送出感谢: 0 次
接收感谢: 0 次
ok。谢谢


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译