ubuntu中编译C语言程序时使用数学函数时总是出问题编译不能通过,这要怎么解决呢?

如题所述

math在连接时需要添加参数,很久不搞linux的程序了,我映像是-o 编译时加上 -lm像下面这样:
gcc -lm -o xxx.out xxx.c
因为math.h不是C运行库函数,就像linux下线程函数库pthread.h也不是,都需要在编译时连接该库
如果你有IDE(如eclipse)+ GCC 开发C程序,可以在项目属性中编译命令中添加-lm,作用是一样的 (本人用VI很不熟练。。。)
楼主如果需要可以到www.eclipse.org下载IDE,不用手动添加Mingw和GCC,它已经全部搞定了,用起来很方便。追问

能不能从根本上解决呢?我觉得要是我的库函数要是添加正确的话,我增加了math,h头文件时就应该不会出现错误了,也不用加-lm选项!

追答

没有办法,如果你用VI生成.o文件,只能手动连接。如果你有编译器,只不过是免了手动生成的步骤,道理是一样的

追问

请问Mingw这个是起到什么作用呢?
我的系统的现在情况是这样的:我的.c程序中如果是没有用到系统函数的话,就能够用make 命令直接编译源代码,若要是使用到其他的函数时就用make不能直接编译成功了!

追答

Mingw就是一个编译环境,如果不要自己编写MAKE文件的话,那就安装一个eclipse,Make也是自动生成的,当然如果是你需要。因为大牛都是自己编写MAKE文件的。

温馨提示:答案为网友推荐,仅供参考
相似回答