LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1146|回复: 7

Help~~ c++ link problem!!!

[复制链接]
发表于 2005-12-21 13:51:33 | 显示全部楼层 |阅读模式
Sorry about that I can't input Chinese under Ubuntu environment..test

hehe

I'm a c++ rookie..

Followed by the problem:

I create 3 independant files named "sample.cpp","bank.h","bank.cpp".

sample.cpp -- the application source file,which include the header file bank.h;

bank.h -- the header file, but only contain the interface,that is,no implementation but only declaration of funtions.

bank.cpp -- the implementation of the header file.

Then I created a makefile like this:
//makefile//
sample:sample.o
        g++ -o sample sample.o
sample.o:sample.cpp bank.h
        g++ -c sample.cpp
//end//

the compilation is OK,while the link encountered a problem -- indicating the functions ,which are members of the class defined in the header file, are undeclared.BUT once I put the declaration part and the inplementaion part together in a SINGLE header file then everything is fine..YUMEN...

Help~~






bank.h
//begin..
#include<iostream>
using namespace std;

class bank
{
public:
        void print_money();
private:
        int money;
};


bank.cpp
//begin
#include<iostream>
#include"bank.h"
using namespace std;

void bank::print_money()
{
        cout<<money<<endl;
}
发表于 2005-12-21 14:02:56 | 显示全部楼层
Why didn't you compile the bank.cpp?
fix your Makefile:

sample : sample.o bank.o
g++ sample.o bank.o -o sample
sample.o : sample.cpp, bank.h
g++ -c sample.cpp
bank.o : bank.cpp, bank.h
g++ -c bank.cpp
回复 支持 反对

使用道具 举报

发表于 2005-12-21 14:06:58 | 显示全部楼层
sample:sample.cpp bank.o
g++ -o sample sample.cpp bank.o

bank.o:bank.h bank.cpp
g++ -c bank.cpp

clean:
rm sample bank.o


Makefile应该是这样吧..
http://dev.csdn.net/develop/article/20/20025.shtm
回复 支持 反对

使用道具 举报

发表于 2005-12-21 14:13:50 | 显示全部楼层
那些是tab。论坛默认无法显示tab的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-21 21:40:27 | 显示全部楼层
ok ,i'll try..
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-23 18:38:45 | 显示全部楼层
still can't make it..
help~~~
回复 支持 反对

使用道具 举报

发表于 2005-12-23 18:59:54 | 显示全部楼层
请帖出你的代码,makefile,以及出错信息..
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-12-25 22:43:07 | 显示全部楼层
ok了,主要是另一个问题,必须定义专门的命名空间。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表