2009-10-15 10 views
0

(Windows OS)에서 PGI Visual Fortran을 사용하여 포트란 (f90) 라이브러리와 실행 파일로 구성된 프로젝트/솔루션을 빌드하고 있습니다. f90 라이브러리는 netcdf.lib에 링크됩니다. F90 컴파일하고 확인을 기반으로하지만, 나는 다음과 같은 오류가 얻을 실행에 연결하려고하면
가 ... 연결
오류 LNK2019 ... 프로젝트를 컴파일문제점 Windows에서 linlking netcdf.lib PGI Visual Fortran

을 : 확인되지 않은 외부 기호가 nf_ _inq_varid_에서 참조 함수
오류 LNK2001 interpnwptools_checkcldliq_ :되지 않은 외부 기호 varid
오류 LNK2019을 nf__inq :되지 않은 외부 기호 함수 에러 참조 strerror_ nf_
오류 LNK2019을 :되지 않은 외부 기호 nf_ get_ att_ real_ 기능
,617에서 언급 451,515,오류 LNK2001 :되지 않은 외부 기호 nf_ get_ att_ real_
오류 LNK2019 :되지 않은 외부 심볼
오류 LNK2019 ncdf_module_openfile_ 함수에서 참조 create_ nf_ :되지 않은 외부 심볼
ncdf_module_openfile_ 함수에서 참조 nf_def_dim_.
.
.
및 nf_ 개의 확인되지 않은 기호가 전체적으로 많습니다. 나는 netcdf 라이브러리가 제대로 링크되고 있다고 생각하지 않는다. 누구든지 도와 줄 수 있습니까? 내가 사용하고있는 프로젝트는 MS VStudio 2003을 사용하여 만든 netcdf 3.6.0-p1이 필요합니다. gfortran과 Eclipse를 사용하여 프로젝트를 만들려고했지만 동일한 연결 문제가 있습니다. 나는 전에 netcdf 나 fortran을 사용한 적이 없다 ... 어떤 제안이 있니?

+0

첫 번째 사항부터 netCDF 라이브러리에 확인되지 않은 기호가 포함되어 있는지 확인하십시오. –

답변

1

의문의는 옳습니다. NetCDF 라이브러리가 제대로 링크되지 않습니다. 제대로 빌드했다고 가정하면 Visual Fortran에 라이브러리를 찾을 위치를 알려 주어야합니다. PGI-VF 작업은하지 않지만 프로젝트의 속성 페이지를 편집 할 수있는 것처럼 보입니다. 링커에 대한 설정 옵션을 찾고 링커가 필수 라이브러리를 검색 할 디렉토리를 추가 할 수 있어야합니다. 링커 입력 옵션에서 NetCDF 라이브러리 자체를 추가 종속성으로 지정해야 할 수도 있습니다.

+0

답변 해 주셔서 감사합니다. netcdf 웹 사이트에서 바로 netcdf 코드를 다운로드하고 MSVS 2003을 사용하여 빌드했습니다. netcdf 라이브러리를 빌드하기 위해 netcdf에서 제공하는 MSVS Windows 프로젝트를 사용하여 .dll 대신 .lib 빌드 속성을 변경해야했습니다. PGI-VF에서 링커 속성에 netcdf.lib를 지정했으나 전혀 선택하지 않은 것으로 보입니다. 이것이 사실 일 수 있습니까? 나는 F90으로 일한 적이 없어 .... .lib 파일을 f90과 연결할 수 있습니까? 도와 주셔서 감사합니다! – CEOR

0

다른 컴파일러로 /로 빌드 된 Fortran 라이브러리가 다른 호출 규칙 (이름 변환, 인수 전달 등)을 사용하므로 서로간에 (대부분의 경우) 서로 호환되지 않는다고 생각됩니다. netcdf 라이브러리에 맞는 다운로드 및 컴파일 설정이 있는지 확인하십시오.