作者 主題: 如何在fc5上編譯gsl函式庫的程式  (閱讀 3880 次)

0 會員 與 1 訪客 正在閱讀本文。

Ives

  • 可愛的小學生
  • *
  • 文章數: 6
    • 檢視個人資料
如何在fc5上編譯gsl函式庫的程式
« 於: 2007-05-18 03:07 »
我已經用rpm安裝了gsl.i386及gsl-devel.i386
但寫的程式如何link,compile...?  (gcc -I...-L... ??)
謝謝
這是文件上的範例
#include <stdio.h>
#include <gsl/gsl_math.h>
#include <gsl/gsl_sf_bessel.h>

int main()
{
 double x=5.0;
 double y= gsl_sf_bessel_JO(x);
 printf("JO(%)= %.18\n",x,y);
 return 0;
}

darkranger

  • 榮譽學長
  • 俺是博士!
  • *****
  • 文章數: 1370
    • 檢視個人資料
    • http://darkranger.no-ip.org

stlee

  • 鑽研的研究生
  • *****
  • 文章數: 817
    • 檢視個人資料
Re: 如何在fc5上編譯gsl函式庫的程式
« 回覆 #2 於: 2007-05-18 13:55 »
引述: "Ives"
我已經用rpm安裝了gsl.i386及gsl-devel.i386
但寫的程式如何link,compile...?  (gcc -I...-L... ??)
謝謝
這是文件上的範例
#include <stdio.h>
#include <gsl/gsl_math.h>
#include <gsl/gsl_sf_bessel.h>

int main()
{
 double x=5.0;
 double y= gsl_sf_bessel_JO(x);
 printf("JO(%)= %.18\n",x,y);
 return 0;
}


gcc -I...-L...

-I=include的路徑
-L=libxxx.xx的路徑
後面還要加上-lxxx
例如他的函數庫檔名為lib123.a含引檔名為456.h都放在/home/xxx/yyy/下面則
gcc -I /home/xxx/yyy -L /home/xxx/yyy ......... -l123
但如果include可以是#include <xxx.h>不用-I參數
只有#include "xxx.h"才需要-I這個參數

ps.-lxxx的 l 是 L 的小寫

大概就醬....有說錯請指正...謝謝^^!
程式是人寫的,別讓工具的限制成為您想像力的極限
~程式中最重要的部份應該是註解而不是程式碼,這是因為解讀註解一定比解讀程式碼簡單
~程式寫好後約一個月就會忘的差不多了,所以花點時間把註解寫好至少能讓自己(或別人)看的懂當初在寫什麼