gpt4 book ai didi

math - 为什么在 Math.h 中调用函数时会出现链接错误?

转载 作者:行者123 更新时间:2023-12-04 17:29:32 27 4
gpt4 key购买 nike

尝试调用 math.h 中的函数时, 我收到如下链接错误

undefined reference to sqrt

但我正在做一个 #include <math.h>我正在使用 gcc 并编译如下:
gcc -Wall -D_GNU_SOURCE blah.c -o blah

为什么链接器找不到 sqrt 的定义?

最佳答案

调用 gcc 时在命令中添加 -lm:
gcc -Wall -D_GNU_SOURCE blah.c -o blah -lm

这将告诉链接器与数学库链接。包含 math.h 将告诉编译器像 sqrt() 这样的数学函数存在,但它们是在单独的库中定义的,链接器需要将其与您的可执行文件打包。

正如 FreeMemory 指出的那样,该库名为 libm.a 。在类 Unix 系统上,命名库的规则是 lib[blah].a 。然后,如果您想将它们链接到您的可执行文件,请使用 -l[blah] 。

关于math - 为什么在 Math.h 中调用函数时会出现链接错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/103407/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com