Linker 将gfortran库链接到c++;Ubuntu下的代码块程序
我在Vmware下有一个Ubuntu,并使用Code::Blocks,因为我不是一个非常强大的命令行用户 更喜欢IDE而不是Vim+控制台 我试图编译一个程序,它使用C++包装器来forFortran库。 但是,编译给了我以下错误: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
undefined reference to `_gfortran_compare_string'
有很多这种类型的错误,还有很多类似的错误
我有gfortran 4.6.3。我发现搜索可能是一个链接问题,人们说
为链接器使用-lgfortran选项。当我在Code::Blocks中将其添加到链接器选项时,它不会更改任何内容,错误将继续。因此,这里有一些问题:
您是否已将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
的符号。