linux c++ 自定义头文件编译错误找不到函数

/*function.h*/doublef(doublex);/*function.cpp*/#include"function.h"doublef(doublex){r... /*function.h*/
double f(double x);

/*function.cpp*/

#include "function.h"
double f(double x)
{
return x;
}

/*main.cpp*/
#include<iostream>
#include<math.h>
#include"./function.h"

using namespace std;
int main()
{
cout<<f(2.0)<<endl;
return 0;
}

编译使用
g++ main.cpp -o test
编译错误
undefined reference to 'f(double)'
但如果使用
g++ main.cpp function.cpp -o test
为什么?
展开
 我来答
chr1999
2013-05-31 · TA获得超过1056个赞
知道小有建树答主
回答量:2462
采纳率:0%
帮助的人:1252万
展开全部
链接要f函数, 前面的没有编译function.cpp文件
追问
所以每次都要把头文件的实现文件编译下?那如果很多的话,岂不是很麻烦?
追答
多了用makefile
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式