使用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
开关谢谢您的明确解释