Hac*_*chi 21 c ubuntu linker gcc math.h
我将Ubuntu升级(10.11, 11.04 i dont know)
到11.10 后出现了一些奇怪的错误.
我正在undefined reference to 'sqrt'
使用math.h 并使用-lm进行链接
我正在编译gcc -Wall -Werror -g -Iinclude/ -lm lib/matrix.c src/analyse.c -o bin/analyse.o
两个源文件使用并包括math.h.
这段代码编译没有问题,自升级以来我没有太大变化,但现在它不起作用.
你有什么建议我可以做,找到错误?
对不起,如果以前问过这个问题; 关于数学链接器错误的帖子太多了,我找不到匹配的错误
qui*_*edy 17
求助,这不是常见的缺失-lm问题!升级到(k)ubuntu 11.10之后我处于相同的情况!
$ whereis math.h
math: /usr/include/math.h
Makefile:
CC=gcc
CFLAGS=--std=c99 -g -pedantic -Wall -lm
uname:
Linux idefix 3.0.0-12-generic #20-Ubuntu SMP Fri Oct 7 14:56:25 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
你真的必须在-o foo foo.c参数之后放置-lm swith
Output:
pidi@idefix:~/projekt1$ make
gcc -o b1 b1.c --std=c99 -g -pedantic -Wall -lm
pidi@idefix:~/projekt1$
Run Code Online (Sandbox Code Playgroud)
所以在Makefile中交换你的标志!GUYS.这是相当新的(和严重的)BUG!
小智 9
由于--as-needed
链接器中gcc标志的默认激活,这是一个问题
更多信息请访问:http://www.gentoo.org/proj/en/qa/asneeded.xml
简单修复(至少对我有用):
添加-Wl,--no-as-needed
到链接器
归档时间: |
|
查看次数: |
30279 次 |
最近记录: |