gpt4 book ai didi

c++ - 在 QtCreator 中从 Qt 调用 fortran 代码

转载 作者:太空宇宙 更新时间:2023-11-04 11:41:11 24 4
gpt4 key购买 nike

我有一个很好的 GUI,它是我使用 QtCreator 设计的,我想用它来调用 Fortran 源文件中的函数来完成所有后端工作。我的QtCreator版本是2.7.0,基于Qt 5.0.1我在名为 sum.f90 的文件中编写了一个简单的 fortran-90 程序来添加两个数字:

integer function addup (a, b)
implicit none
integer a, b
addup = a + b
return
end

然后我将这个 sum.f90 文件添加到源中的 .pro 文件中,如下所示:

SOURCES += forsum.f90

然后我创建了一个包含以下行的头文件 fortranlink.h:

extern "C"
{
extern int addup_(int*,int*);
}

然后我将这个头文件包含在我的主源文件“#include fortranlink.h”中,并像这样调用这个 addup_ 函数:

int a=2;
int b=3;
int result=addup_(&a,&b);

编译后出现如下错误:

Undefined reference to _gfortran_st_write
Undefined reference to _gfortran_transfer_character_write
Undefined reference to _gfortran_transfer_integer_write
Undefined reference to _gfortran_st_write_done

这些错误的发生可能是因为我没有在某处使用 -lgfortran 链接标准 fortran 库。但是我在哪里使用它呢?

最佳答案

@cageman 的回答是正确的。 LIBS+=lgfortran

关于c++ - 在 QtCreator 中从 Qt 调用 fortran 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21362556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com