我正在尝试混合Fortran和C ++目标文件,它们完美地工作并使用简单的C ++文件生成可执行文件。但是,当我尝试将相同的Fortran对象文件与主C ++代码(这是一个非常大且复杂的代码)混合时,它会产生下面列出的以下错误。我玩-lgfortran
的位置,但没有运气。
使用的命令是
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'
答案 0 :(得分:0)
工作命令是
g++ -static -o test *.o -lgfortran -lpthread -L/usr/local/lib -lquadmath
答案 1 :(得分:0)
'nm'既有c.o又有fortran.o 我猜它可能是你需要的下划线。