是否可以从FORTRAN调用C ++函数,例如
#include <iostream.h>
extern "C"
{
void single_cell(void)
{
cout<<"Hi from C++";
}
}
因此,当我使用C时它工作正常但是使用C ++函数会产生错误 cout等未定义的错误
答案 0 :(得分:3)
用作连接器的g ++和gfortran都带来了额外的库。这就是为什么Fortran / C ++组合比Fortran / C组合更棘手......只是使用正确的编译器,因为链接器不起作用,你需要添加一个库。已经建议与gfortran链接并指定C ++运行时库。您还可以使用g ++链接并指定Fortran运行时库。有关这两种方法的详细信息,请参阅Linking fortran and c++ binaries using gcc。
答案 1 :(得分:1)
假设您可以将Fortran代码调用到C函数中,问题不在于代码,而在于您的链接方式。当您链接C ++对象时,您还需要引入C ++运行时。如果使用GCC,请链接g ++命令,它将引入您需要的部分。