各位大神好:
最近使用到了反正弦函数:asin,把math.h头文件包含到源文件中。但是编译时提示:undefined reference to 'asin'
,百度了一圈,有的说是要在连接器后面加 -lm参数。
我尝试添加这个后缀,也不知道是错了,还是有其他原因。问题依旧不能解决。盼望大神给我解惑。谢谢了。
inux下 ,如果程序包含 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库里面的数学函数就不回提示找不到了。
————————————————
版权声明:本文为CSDN博主「喵学长」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_35448976/article/details/73877926
谢谢,已解决!!!
简单明了 (๑•̀ㅂ•́)و✧