歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> GCC編譯失敗--sin

GCC編譯失敗--sin

日期:2017/3/1 10:16:27   编辑:Linux編程
直接使用 gcc -o Gen Gen.c 需到如下錯誤
Gen.c:(.text+0x46): undefined reference to `sin'
Gen.c:(.text+0x61): undefined reference to `sin'
collect2: ld returned 1 exit status

但是把這個程序復制到CodeBlock中,建立一個工程就就可以編譯通過。

源程序如下:

  1. //Gen.c
  2. #include<stdio.h>
  3. #include<stdlib.h>
  4. #include<math.h>
  5. #define PI 3.1415926
  6. int main()
  7. {
  8. double step = 1.0/20;
  9. double t=0;
  10. double y=0;
  11. int d=0;
  12. while(t<100)
  13. {
  14. y=sin(2*PI*1*t)+sin(2*PI*3*t);
  15. y*=32767;
  16. d=(int)y;
  17. d=d&0xFFFF;
  18. printf("%X\n",d);
  19. t+=step;
  20. }
  21. return 0;
  22. }

解決方法: gcc -o Gen Gen.c -lm

-lm 表示加載 libm.so 這個數學庫

Copyright © Linux教程網 All Rights Reserved