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

使用math.h从命令行gcc编译C程序时出现问题,c,command-line,terminal,math.h,C,Command Line,Terminal,Math.h,我不熟悉命令行,正在尝试运行一个包含函数log10的C程序 如果我给 gcc -o -lm randomVamp random\ vampire.c 我得到了错误 gcc: error: randomVamp: No such file or directory /usr/bin/ld: /tmp/ccbWivPU.o: in function `main': random vampire.c:(.text+0x312): undefined reference to `log10' co

我不熟悉命令行,正在尝试运行一个包含函数
log10
的C程序

如果我给

gcc -o -lm randomVamp random\ vampire.c 
我得到了错误

gcc: error: randomVamp: No such file or directory
/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
但是randomVamp是我想给可执行文件起的名字,当然它还不存在

如果我及时

gcc -o -lm random\ vampire.c 
然后我得到了错误

gcc: error: randomVamp: No such file or directory
/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.h
time.h
我应该使用一些标志还是以某种方式链接它们?

-o
表示下一个参数是输出文件名。将
-o-lm randomVamp
替换为类似
-o randomVamp-lm
的内容

另外,请注意,如果在
.c
/
.cpp
/
.o
/.o之前指定,则
-l..
无效。。。文件夹。因此,该命令可以如下所示:

gcc -o randomVamp random\ vampire.c -lm

如果您想为输出文件命名,它应该遵循
-o
开关谢谢您的明确解释