Pan_QAQ 2021-03-20 17:20 采纳率: 0%
浏览 111

fortran中引用mod文件出现errorLNK2019

用的vs2012 ivf  ,自己编写的小程序中编译了一个mod文件,想在另一个程序中使用时出现了模块中定义的变量和函数无法识别的问题,错误    1     error LNK2019: 无法解析的外部符号 TEST3_mp_J,该符号在函数 MAIN__ 中被引用    Source1.obj    
求fortran大神解答困惑!!!

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-24 00:01
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    Fortran是一种基于汇编语言的语言,它不能直接访问或引用其他源文件中的代码。因此,在一个Fortran程序中,你不能直接引用另一个程序中的模块。

    如果你想要在一个Fortran程序中调用另一个程序中的模块,你需要将这个模块作为库或者动态链接库(DLL)加载到你的程序中。这通常涉及到在你的Fortran程序中包含相关的头文件,并在运行时通过动态链接器来找到并加载这些模块。

    例如,如果你有一个名为my_module.f90的模块,你可以这样引入它:

    module my_module
        implicit none
    
        contains
    
        subroutine test()
            write(*,*) 'Hello from my_module'
        end subroutine
    
    contains
    
    end module
    

    然后,在你的主程序中,你可以像这样导入这个模块:

    program main
        use my_module
        implicit none
    
        test()
    
    end program
    

    请注意,这只是一个基本的例子,实际的实现可能更复杂,包括处理模块之间的依赖关系、错误处理等。此外,如果要从一个模块获取外部数据,你可能需要使用外部库,而不是硬编码到你的代码中。

    评论

报告相同问题?