3
我試圖使用從文件math.h庫中恆M_LN2但似乎總是得到一個編譯錯誤。該代碼是:如何使用M_LN2從MATH.H
#include <stdio.h>
#include <math.h>
int main(){
double x = M_LN2;
printf("%e",x);
return 0;
}
在Ubuntu上用gcc編譯
gcc -std=c99 lntester.c -o lntester -lm
獲得輸出:
error: 'M_LN2' undeclared
理解爲什麼發生這種情況的任何幫助,將不勝感激。
如下所述,if def沒有被定義,並且使用gcc和c99導致了這個問題。下面是解決問題並允許我使用c99的編譯代碼。
gcc -std=c99 -D_GNU_SOURCE lntested.c -o lntester -lm
好的,所以我已經在代碼中發佈了問題的解決方案。感謝您幫助理解if defs是它發生的原因。 – CSnewb 2014-09-06 22:12:41