使用 math.h 从命令行 gcc 编译 C 程序时出现问题

Problem compiling C progtam from command line gcc with math.h

我是命令行的新手,我正在尝试 运行 一个包含函数 log10.

的 C 程序

如果我给

gcc -o -lm randomVamp random\ vampire.c 

我收到错误

gcc: error: randomVamp: No such file or directory

但是randomVamp是我想给可执行文件起的名字,当然现在还不存在

如果我提示只是

gcc -o -lm random\ vampire.c 

然后我得到错误

/usr/bin/ld: /tmp/ccbWivPU.o: in function `main':
random vampire.c:(.text+0x312): undefined reference to `log10'
collect2: error: ld returned 1 exit status

有人知道怎么回事吗?

我不知道它是否相关,但该程序还包括 stdlib.htime.h 我应该使用一些标志还是 link 它们以某种方式?

-o 表示 next 参数是输出文件名。将 -o -lm randomVamp 替换为 -o randomVamp -lm.

另外,请注意,如果在 .c/.cpp/.o/... 文件之前指定 -l...,则它没有任何效果。因此,命令可能如下所示:

gcc -o randomVamp random\ vampire.c -lm