在Geany下编写了三个文件如下
//max.h
int max(int a, int b);
//max.cc
#include "max.h"
int max(int a, int b)
{
return a > b ? a : b;
}
//main.cc
#include "max.h"
int main()
{
int x = 3, y=5;
max(x, y);
return 0;
}
在Geany下按编译选项后,提示成功,但选择”生成“按钮后,就会出现错误:
In function 'main': undefined reference to 'max(int, int)'
有人知道是为什么吗? 如果把main.cc 中的#include"max.h"换成#include"max.cc”就可以成功运行
Geany的使用问题,急救!
-
- 帖子: 3
- 注册时间: 2011-04-19 16:50
-
- 帖子: 3030
- 注册时间: 2009-10-03 23:31
Re: Geany的使用问题,急救!
max.h只定义了一个max函数,没有具体内容,直接调用肯定会出错的啊。
-
- 帖子: 3
- 注册时间: 2011-04-19 16:50
Re: Geany的使用问题,急救!
不会已经在max.cc文件里实现了max的定义吗? 在引用的地方肯定直接#include"max.h"就行了,levee 写了:max.h只定义了一个max函数,没有具体内容,直接调用肯定会出错的啊。
-
- 帖子: 3030
- 注册时间: 2009-10-03 23:31
Re: Geany的使用问题,急救!
你已经在max.cc里定义了max函数,那还引用max.h干嘛呢?既然max函数在max.cc中已经定义了,就完全不需要再引用max.h了啊,更何况,max.h中对max函数的定义不对。
-
- 帖子: 334
- 注册时间: 2008-06-27 20:47
Re: Geany的使用问题,急救!
看不出有什么问题。