首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

g++的一个奇怪有关问题, 无法使用数学库函数

2012-02-06 
g++的一个奇怪问题, 无法使用数学库函数?同样的一个源码,如果保存成c文件,用gcc编译可以通过和使用,如果用

g++的一个奇怪问题, 无法使用数学库函数?
同样的一个源码,   如果保存成c文件,   用gcc编译可以通过和使用,   如果用g++编译无法通过.   如果保存成c++文件,   用g++   编译也无法通过.   原因是abs()   函数无法找到?   加了   -lm   也没用.

请问这是什么原因?   需要加什么参数吗?

ideawu@debian:~/study_sdl/lian$   cat   te.cpp
#include   <math>

int   main(int   argc,   char   *argv[]){
                abs(1);
                return   1;
}
ideawu@debian:~/study_sdl/lian$   g++-4.0   te.cpp   -lm
te.cpp:1:16:   error:   math:   No   such   file   or   directory
te.cpp:   In   function   ‘int   main(int,   char**)’:
te.cpp:4:   error:   ‘abs’   was   not   declared   in   this   scope
ideawu@debian:~/study_sdl/lian$   cat   te.c
#include   <math.h>

int   main(int   argc,   char   *argv[]){
                abs(1);
                return   1;
}
ideawu@debian:~/study_sdl/lian$   g++-4.0   te.c   -lm
te.c:   In   function   ‘int   main(int,   char**)’:
te.c:4:   error:   ‘abs’   was   not   declared   in   this   scope
ideawu@debian:~/study_sdl/lian$   gcc-4.0   te.c
ideawu@debian:~/study_sdl/lian$


[解决办法]
将路径配置进GCC的include当中
[解决办法]
估计是因为c++的类型检测比c严格所致...
[解决办法]
在c里面,可以不定义一个函数就使用它,但是C++不行。
[解决办法]
加个编译参数 -lm

热点排行