使用 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.h
和 time.h
我应该使用一些标志还是 link 它们以某种方式?
-o
表示 next 参数是输出文件名。将 -o -lm randomVamp
替换为 -o randomVamp -lm
.
另外,请注意,如果在 .c
/.cpp
/.o
/... 文件之前指定 -l...
,则它没有任何效果。因此,命令可能如下所示:
gcc -o randomVamp random\ vampire.c -lm
我是命令行的新手,我正在尝试 运行 一个包含函数 log10
.
如果我给
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.h
和 time.h
我应该使用一些标志还是 link 它们以某种方式?
-o
表示 next 参数是输出文件名。将 -o -lm randomVamp
替换为 -o randomVamp -lm
.
另外,请注意,如果在 .c
/.cpp
/.o
/... 文件之前指定 -l...
,则它没有任何效果。因此,命令可能如下所示:
gcc -o randomVamp random\ vampire.c -lm