나는 많은 다른 기능을 포함하는 포트란 라이브러리에서 작업 중이다. 를 개발하고 더 쉽게 유지하기 위해, 나는 몇 가지 모듈로이 라이브러리를 분리 한 (예를 들어, part1.f90
, part2.f90
, part3.f90
)이 모든 개별 모듈을 사용하여 메인 모듈 mylib.f90
:다른 모듈을 사용하여 모듈 컴파일 및 링크
module mylib
use part1
use part2
use part3
implicit none
end module mylib
아이디어는 다음 사용하는 것입니다 내 프로그램의이 주 모듈은 use mylib
입니다. 그러나 나는이 모듈들을 컴파일하고 링크하는데 문제가있다.
모듈은 모두 포함되어 있으며 /mylib/src/
디렉토리에 컴파일되며 이에 따라 해당 *.o
및 *.mod
파일도 포함됩니다.
gfortran -I/mylib/src myprog.f90 -o myprog
컴파일러가 지정된 디렉토리에서 필요한 모듈을 찾을 것으로 기대합니다. 그러나 불행히도 서브 모듈에 실제로 포함 된 함수에 대한 정의되지 않은 참조가 있다는 오류 메시지가 나타납니다.
내가 뭘 잘못하고 있니?
도움 주셔서 감사합니다.
답장을 보내 주셔서 감사합니다. 그러나 필자는 프로그램을 라이브러리와 연결할 때 모든 객체를 언급 할 필요성을 우회하려고했습니다. – remek