2014-03-02 23 views
2

我有一個使用某些庫文件的fortran程序。我試圖將它們與正在創建的模塊文件一起鏈接。使用f2py鏈接庫

庫文件我試圖鏈接稱爲ulib.a,位於目錄/home/replace/lib/

我使用的命令是:

f2py -L/home/replace/lib/ -lulib.a -c main.f -m progs 

我收到以下錯誤:

/usr/bin/ld: cannot find -lulib.a 
collect2: ld returned 1 exit status 
/usr/bin/ld: cannot find -lulib.a 
collect2: ld returned 1 exit status 

我將不勝感激任何幫助!

+1

靜態庫只是一組目標文件,所以你可以直接包含'f2py -c main.f /home/replace/ulib.a -m progs'或類似的東西。 – michaelmeyer

回答

2

試着離開.a - 我相當確定鏈接器已經知道庫是.a所以在你的例子中它將尋找ulib.a.a並失敗。

1

我不得不從庫名稱中刪除擴展名,並提供完整路徑。出於某種原因,使用-L參數提供路徑不起作用。

f2py -l/home/replace/lib/ulib -c main.f -m progs 
+0

所以史蒂夫巴恩斯的建議沒有奏效?我一直這樣做,這對我很有用。 – amaurea

+0

我也必須使用這種方式(只有-l而不是-L + -l)。我在與f2py版本2的Windows上。 – JohnE