2014-11-05 75 views
1

我一直在嘗試一段時間來運行一個鏈接到使用C++例程的庫的fortran代碼。該代碼非常簡單:fortran C++鏈接庫

program simple_program 
implicit none 
#include "looptools.h" 
call ltini 
print *, B0(1000D0, 50D0, 80D0) 
call ltexi 
end 

據開發者,如果你有

gfortran -I$LT/include example.F -L$LT/lib -looptools 

我甚至編譯時加入-lstdC++在該行的末尾編譯它應該工作。 LT變量設置爲正確的目錄(安裝程序包和庫的位置)。問題在於它似乎忽略了包中包含的C++函數,所以我認爲我沒有正確鏈接fortran和C++庫。因爲這是一個非常簡單的例子,我按照開發者的建議編譯,我想也許它與我的ubuntu庫版本有關,用於鏈接f和C++?

+0

生成的代碼兼容您可能有C++錯位函數名的一個問題碼。 – 2014-11-05 20:52:47

+0

嘗試使用'gfortran -c example.F',然後'g ++ example.o .... -lgfortran',其中的省略號就是您已擁有的其他所有元素。 – 2014-11-05 23:26:08

+1

你有一個叫'looptools.h'的頭文件叫做'ooptools'?庫存檔的實際文件名是什麼? – IanH 2014-11-06 02:08:43

回答

0

的問題得到解決在命令行末尾添加-ff2c,以產生設計爲與由G77和F2C