新手求问,关于还有类的c++程序的编译

Linux下 ,如果程序包含 math.h ,在gcc时必须加入 lm 例如:gcc -o main.o main.c -lm
但是在eclipse下面 编译,项目回自动生成makefile ,无论如何手动修改makefile,在编译的时候也会被eclipse修改成原来的样子。
这个lm的设置方法如下

网上介绍如下:

选择"project">

"propertise">
"C/C++ Build">
C/C++ Build的下拉菜单"Settings"选项>
Settings的"Tool Settings"选项卡>
Tool Settings选项卡下的"GCC CLlinker"选项>
GCC C Linker选项下的"Libraries"选项
这时,只需要在“Libraries(-l)“里面添加一个”m“,这时eclipse就会在它自动生存的makefile里面生成gcc的-lm参数,这时make项目的时候 ,math.h库里面的数学函数就不回提示找不到了。
附件:

eclipsec1.png [ 81.01 KiB | 被浏览 5 次 ]



其实是在Miscellaneous中 Linker flags 加入 -lm 即可
附件:

eclipsec2.png [ 81.92 KiB | 被浏览 5 次 ]



参考http://developer.51cto.com/art/201009/225976.htm

作者: ideacup   发布时间: 2011-04-30