我試圖混合使用Fortran和C++對象文件,這些文件完美地工作並使用簡單的C++文件生成可執行文件。但是,當我嘗試將相同的Fortran目標文件與主C++代碼(這是一個非常大而複雜的代碼)混合時,它會生成下面列出的以下錯誤。我玩過-lgfortran
的位置,但沒有運氣。混合gfortran和g ++編譯時未定義的引用
使用的命令是
g++ -o test *.o -static -lpthread -L/usr/local/lib -lquadmath -lgfortran
及各種排列也都試過了。
錯誤是:
gcc_4_9_2_release/libgfortran/io/write_float.def:1300: undefined reference to `signbitq'
gcc_4_9_2_release/libgfortran/io/write_float.def:1300: undefined reference to `finiteq'
gcc_4_9_2_release/libgfortran/io/write_float.def:1213: undefined reference to `finiteq'
gcc_4_9_2_release/libgfortran/io/write_float.def:1300: undefined reference to `isnanq'
Gfortran 4.9可以使用gcc和g ++ 4.9,但不適用於不同的編譯器。 – tim18
gfortran和g ++有相同的版本,4.9,它使用一個簡單的示例代碼。 – musafir
您應該顯示導致錯誤消息的命令。你也應該嘗試隔離一個小例子。 –