回 帖 发 新 帖 刷新版面

主题:IVF和c++混合编程的问题

在visual studio 8.0 环境下,我想用fortran做主程序,调用c++编写的子程序代码如下:

FORTRAN代码

program main
implicit none
! 接口声明
INTERFACE   
    SUBROUTINE c_mysub (i) BIND(C)
       USE,INTRINSIC :: ISO_C_BINDING                   
       INTEGER(C_INT), VALUE,INTENT(IN) :: i
    END SUBROUTINE c_mysub
END INTERFACE
call  c_mysub(5)
end

C++源代码:
#include<stdio.h>
extern "C" void  c_mysub(int i)
{
    printf("i=%d",i);
}


出现错误:
fatal error LNK1561: 必须定义入口点     
error LNK2019: 无法解析的外部符号 _c_mysub,该符号在函数 _MAIN__ 中被引用 

请各位大牛指点!

回复列表 (共2个回复)

沙发

SUBROUTINE c_mysub (i) BIND(C,name="c_mysub")

板凳

不用按楼上的声明
我忘记把c编译成静态库了,谢谢楼上

我来回复

您尚未登录,请登录后再回复。点此登录或注册