我在一个 Fortran 项目中,我必须链接 2 个具有相同模块名称的库,在它们下具有相同的子例程名称。我正在使用 Intel Fortran 编译器,当我导入模块并调用子例程时,它总是转到第一个链接的模块。
有没有一种方法可以专门从特定库调用子例程?
这是一些伪代码:
Lib1 和 Lib 2 都有这个:
module foo
subroutine func()
write (*, *) "Hello from Lib1" ! or Lib2
end subroutine()
end module
Run Code Online (Sandbox Code Playgroud)
主要的
program Main
use foo, only: func
call func()
end program
Run Code Online (Sandbox Code Playgroud)
CMakeLists.txt
target_link_libraries(Main PRIVATE libLib1.so libLib2.so)
Run Code Online (Sandbox Code Playgroud) fortran ×1