【问题标题】:Fortran DLL fresh project not compiling in Code BlocksFortran DLL 新项目未在代码块中编译
【发布时间】:2015-12-02 00:38:45
【问题描述】:

我刚刚在一台新 PC 上安装了 Code Blocks 13.12,并尝试创建一个 Fortran DLL 项目。我使用 MinGW 获得了代码块,因此安装了 Fortran 编译器。 如果您创建一个新的 Fortran DLL 项目,代码如下所示

! A fortran95 lib program for G95
! By WQY
subroutine sub()
    implicit none
    write(*,*) "This is subroutine"
    return
end

当您按原样构建时,您会收到以下错误:

||=== Build: Debug in FortranDLLTest (compiler: GNU GCC Compiler) ===|obj\Debug\main.o||In function `sub_':|
[...]\FortranDLLTest\main.f95|5|undefined reference to `_gfortran_st_write'|
[...]\FortranDLLTest\main.f95|5|undefined reference to `_gfortran_transfer_character_write'|
[...]\FortranDLLTest\main.f95|5|undefined reference to `_gfortran_st_write_done'|||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

这是我第一次尝试代码块,所以我没有任何线索。看起来有些东西没有链接,但新项目不应该直接编译吗?

【问题讨论】:

    标签: dll fortran codeblocks


    【解决方案1】:

    您正在使用gcc 编译您的 Fortran 代码。这很好,但您需要链接到libgfortran。我不知道这是如何在代码块中指定的,但是您需要将-lgfortran 添加到编译标志中。

    或者,您可以使用gfortran 作为编译器。如here 所述,这可以通过从“设置”->“编译器...”中选择“GNU Fortran 编译器”来实现

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-15
      • 2021-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多