使用 gcc 编译时对 pow 的未定义引用

问题描述

我在 C 中使用 pow 函数并包含 math.h
以下是我收到的错误

/usr/bin/ld: /tmp/ccUkOL31.o: 在函数 `main': a1B.c:(.text+0xf3): 对“pow” collect2 的未定义引用:错误:ld 返回 1 个退出 状态

虽然我在 StackOverflow 上读到链接是必需的。但这很奇怪。当我们使用 gcc 编译时,有什么办法可以避免这个额外的步骤。 g++ 似乎是自动执行的。

解决方法

当我们用 gcc 编译时,有什么办法可以避免这个额外的步骤吗?

我的做法是使用一个调用 gcc 的脚本(我的 ~/bin 中有 SPATH

$ cat ~/bin/mycc
#!/bin/sh
gcc -std=c11 -pedantic -Wall $* -lm
$ mycc example1.c example2.c