Linker 将gfortran库链接到c++;Ubuntu下的代码块程序

Linker 将gfortran库链接到c++;Ubuntu下的代码块程序,linker,g++,codeblocks,gfortran,Linker,G++,Codeblocks,Gfortran,我在Vmware下有一个Ubuntu,并使用Code::Blocks,因为我不是一个非常强大的命令行用户 更喜欢IDE而不是Vim+控制台 我试图编译一个程序,它使用C++包装器来forFortran库。 但是,编译给了我以下错误: undefined reference to `_gfortran_compare_string' 有很多这种类型的错误,还有很多类似的错误 我有gfortran 4.6.3。我发现搜索可能是一个链接问题,人们说 为链接器使用-lgfortran选项。当我在Cod

我在Vmware下有一个Ubuntu,并使用Code::Blocks,因为我不是一个非常强大的命令行用户 更喜欢IDE而不是Vim+控制台

我试图编译一个程序,它使用C++包装器来forFortran库。 但是,编译给了我以下错误:

undefined reference to `_gfortran_compare_string'
有很多这种类型的错误,还有很多类似的错误

我有gfortran 4.6.3。我发现搜索可能是一个链接问题,人们说 为链接器使用-lgfortran选项。当我在Code::Blocks中将其添加到链接器选项时,它不会更改任何内容,错误将继续。因此,这里有一些问题:

  • 这是链接器的正确选项吗
  • 可能我必须给链接器一个到fortran库的直接路径
  • 如何找到fortran库的安装位置?我对linux知之甚少
  • 我做错了什么以及如何修复它

  • 您是否已将gfortran添加为链接到项目或lgfortran的库?l只是g++将库gfortran链接到代码的一个选项。我不熟悉code::Blocks,但您应该寻找一个可以输入要使用的库并直接添加gfortran的位置。 我猜代码::Blocks端可以帮助您找到这个地方


    Kim Kulling

    我猜大概是/bin/lib/usr/lib或/usr/local/lib。看看你的文件系统。很遗憾,我没有Linuix在工作。可能是其他人


    Kim Kulling

    是的,我知道我可以在哪里输入代码::块中的库。但是我不知道gfortran库在linux中的位置,也不知道我应该从库中添加哪些文件。也许只是将整个目录传递给链接器?是的,我试着用find/usr-name gfortran之类的东西进行搜索,但只找到二进制文件gfortran和docs,但没有库。也许我不懂什么。也许有人会告诉我。谢谢你!你应该尝试使用
    find/usr-name\*gfortran\*
    。库很可能是
    /usr/lib/libgfortran.so.1
    /usr/lib/gfortran.so.3
    或者如果在64位上运行,它可能在
    /usr/lib64
    中Linux。如果
    gfortran
    不是来自发行版包,它也可能是其他地方。这个Fortran库是用您安装的相同版本的
    gfortran
    编译的吗?否则它可能需要另一版本的
    libgfortran.so
    的符号。