2012-06-22 2 views
1

FORTRAN 라이브러리에 링크 할 때 제대로 작동하려면 setup.py 스크립트를 가져 오는 데 문제가 있습니다.numpy distutils를 통해 FORTRAN 라이브러리에 연결하는 방법

나는 라이브러리에 대한 경험이 거의 없으므로 잘못된 용어를 사용할 수 있습니다. FMLIB 포트란 패키지를 사용하는 포트란 모듈이 있습니다. FMLIB 패키지에는 .o 파일로 컴파일 된 세 개의 f95 파일이 들어 있습니다. 이 모듈은 파이썬 모듈에 의해 차례대로 사용됩니다. setup.py 파일에서, 나는 확장을 사용

그러나
shapelets = Extension('PyCosmology.shapelets.fort.shapelets', 
        ['PyCosmology/shapelets/fort/find_coeffs.f90'], 
         libraries = [<DIRECTORY>./FM.o' 
         '<DIRECTORY>/FMSAVE.f95', 
         '<DIRECTORY>/FMZM90.f95'], 
         extra_f90_compile_args=['-Wtabs'], 
         f2py_options=['--quiet']) 

, 나는 그것이 더 .MOD 파일을 찾을 수 없습니다 있기 때문에 FMZM을 사용할 수 없다는 설치하려고 할 때. Extension에서 다른 키워드를 사용하여 라이브러리에 링크하거나 모드 파일에 링크해야합니까? 아니면 제가해야 할 일이 있습니까? distutils에 대한 문서는 비교적 드물다.

답변

2

알아 냈어.

include_dirs = ['<DIRECTORY WITH .MOD FILES>']library_dirs = [<DIRECTORY>]을 추가하고 경로가없는 파일 이름 만 포함하도록 libraries 키워드를 변경하면됩니다.

관련 문제