次のように log2() で定数値を渡している場合
#include <stdio.h>
#include<math.h>
int main(int argc, char* argv[])
{
int var;
var= log2(16);
printf("%d",var);
return 0;
}
gcc prog.c (エラーなし) 4
しかし、関数 log2(var) で変数を渡すと、「log2」への未定義の参照というエラーが発生します。つまり、ライブラリをリンクする必要があります -lm
#include <stdio.h>
#include<math.h>
int main(int argc, char* argv[])
{
int var,i;
i= log2(var);
printf("%d",i);
return 0;
}
エラーが出る
undefined reference to `log2'