fortran与c++的混合编程问题

sirius_wind 2009-05-19 05:23:06
求助,最近在看linux下gcc的混合编程,我写了个小的实例程序,如下
////c
int main(void)
{
int n=1;
extern void cdf_(int * num);
cdf_(&n);
printf("%d\n",n);
return 1;
}
CCCC fortran
subroutine cdf(num)
num=10;
return
end
#makefile
obj1=main.c
obj2=cdf.for
obj3=main.o
obj4=cdf.o
myexe:$(obj2) $(obj4)
gfortran *.o -o myexe
%.o: %.c
gcc -c *.c
%.o: %.for
gfortran -c *.for
clean:
rm myexe *.o

##########当c的文件为c时正常,程序可以运行,生成myexe,
当把相应的文件都变为c++的时候(.c->.cpp,gcc->g++)在连接时生成不了myexe
报错如下:
main.o(.text+ox28)In function 'main :
:undefined reference to 'cff_(int *)'
main.o(.gun.linkonce.d.DW.ref.__gxx_personality_v0+ox0):undefined reference to
.__gxx_personality_v0'
collect:ld returned 1 exit status
关键是c的能通过,c++的cpp文件的就不行,很让人头疼
...全文
79 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
sirius_wind 2009-05-20
  • 打赏
  • 举报
回复
3q,我看过,里面没有我需要的
  • 打赏
  • 举报
回复

3,287

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 实用资料发布区
社区管理员
  • 实用资料发布区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧