Gcc fmod问题未定义参考

Gcc fmod问题未定义参考,gcc,shared-libraries,modulus,Gcc,Shared Libraries,Modulus,嘿,所以我试着用fmod,因为我必须取两倍的模。我的make文件执行以下操作 gcc -static -lm vm_main.c vm_options.c vm_menu.c vm_utility.c -o main 所以-lm标记应该包含数学标题,对吗 我已经在我的文件中包括了math.h #include "vm_menu.h" #include "vm_type.h" #include <math.h> #include <stdio.h> #include &

嘿,所以我试着用fmod,因为我必须取两倍的模。我的make文件执行以下操作

gcc -static -lm vm_main.c vm_options.c vm_menu.c vm_utility.c -o main 
所以-lm标记应该包含数学标题,对吗

我已经在我的文件中包括了math.h

#include "vm_menu.h"
#include "vm_type.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <malloc.h>
#包括“vm_menu.h”
#包括“vm_type.h”
#包括
#包括
#包括
#包括
#包括
我有点困惑,为什么会发生这种情况…:/

所以-lm标记应该包含数学标题,对吗


不,它告诉链接器链接到libm,即数学库。这是一个库,不是标题。但是,它需要放在使用它的文件之后。

您需要将链接的库放在命令行的对象/源文件之后。Sweet,你知道为什么这个错误会在eclipse中继续发生,但只会在终端中产生警告吗?链接阶段在这两种情况下都会导致错误,这会导致
make
立即退出并出现错误。是的,我就是这么想的。嗯,我会重启eclipse。