当前位置: 技术问答>linux和unix
如何用g++编译包含多个文件的源码
来源: 互联网 发布时间:2017-02-18
本文导语: 我在学习鸟哥的linux私房菜第22章22.3.1节中的案例时 发现将函数类型改为.cpp的话,main.cpp函数不能编译,用 g++ -c main.cpp haha.cpp sin_value.cpp cos_value.cpp 编译时,显示如下信息: main.cpp:in function 'int main()': main.cpp:13...
我在学习鸟哥的linux私房菜第22章22.3.1节中的案例时 发现将函数类型改为.cpp的话,main.cpp函数不能编译,用
g++ -c main.cpp haha.cpp sin_value.cpp cos_value.cpp
编译时,显示如下信息:
main.cpp:in function 'int main()':
main.cpp:13:error:'haha'was not declaredin this scope
main.cpp:14:error:'sin_value'was not declaredin this scope
main.cpp:15:error:'cos_value'was not declaredin this scope
请教各位,这是怎么回事呢,把这些文件的后缀全部改为.c,则能成功编译呢,.c++就不行。
各个函数内容如下:
/*main.cpp
#include
#include
#define pi 3.14159
char name[15];
float angle;
int main(void)
{
printf ("nnPlease input your name: ");
scanf ("%s", &name );
printf ("nPlease enter the degree angle (ex> 90): " );
scanf ("%f", &angle );
haha( name );
sin_value( angle );
cos_value( angle );
}
/*sin_value.cpp
#include
#include
#define pi 3.14159
float angle;
void sin_value(void)
{
float value;
value = sin ( angle / 180. * pi );
printf ("nThe Sin is: %5.2fn",value);
}
/*cos_value.cpp
#include
#include
#define pi 3.14159
float angle;
void cos_value(void)
{
float value;
value = cos ( angle / 180. * pi );
printf ("The Cos is: %5.2fn",value);
}
/*haha.cpp
#include
int haha(char name[15])
{
printf ("nnHi, Dear %s, nice to meet you.", name);
}
g++ -c main.cpp haha.cpp sin_value.cpp cos_value.cpp
编译时,显示如下信息:
main.cpp:in function 'int main()':
main.cpp:13:error:'haha'was not declaredin this scope
main.cpp:14:error:'sin_value'was not declaredin this scope
main.cpp:15:error:'cos_value'was not declaredin this scope
请教各位,这是怎么回事呢,把这些文件的后缀全部改为.c,则能成功编译呢,.c++就不行。
各个函数内容如下:
/*main.cpp
#include
#include
#define pi 3.14159
char name[15];
float angle;
int main(void)
{
printf ("nnPlease input your name: ");
scanf ("%s", &name );
printf ("nPlease enter the degree angle (ex> 90): " );
scanf ("%f", &angle );
haha( name );
sin_value( angle );
cos_value( angle );
}
/*sin_value.cpp
#include
#include
#define pi 3.14159
float angle;
void sin_value(void)
{
float value;
value = sin ( angle / 180. * pi );
printf ("nThe Sin is: %5.2fn",value);
}
/*cos_value.cpp
#include
#include
#define pi 3.14159
float angle;
void cos_value(void)
{
float value;
value = cos ( angle / 180. * pi );
printf ("The Cos is: %5.2fn",value);
}
/*haha.cpp
#include
int haha(char name[15])
{
printf ("nnHi, Dear %s, nice to meet you.", name);
}
|
这是C++语法规则上的啦,extern一下你要用到的函数。