fengjian 发表于 2022-6-7 17:31:25

VS+Fortran 调用HDF5库的源代码

在HDF5的官网下载了一个Fortran 调用HDF5库的源代码,按文件里的说明和网上查到的攻略把VS设置好,但是总出现如下错误提示,有没有高手告知一下如何解决?
使用的VS2015,HDF5 1.8.18 版本应该是匹配的。加了H5_BUILT_AS_DYNAMIC_LIB

! The following example shows how to create an empty dataset.
! It creates a file called 'dsetf.h5', defines the
! dataset dataspace, creates a dataset which is a 4x6 integer array,
! and then closes the dataspace, the dataset, and the file.
!
! This example is used in the HDF5 Tutorial.

PROGRAM H5_CRTDAT

USE HDF5 ! This module contains all necessary modules

IMPLICIT NONE

CHARACTER(LEN=8), PARAMETER :: filename = "dsetf.h5" ! File name
CHARACTER(LEN=4), PARAMETER :: dsetname = "dset"   ! Dataset name

INTEGER(HID_T) :: file_id       ! File identifier
INTEGER(HID_T) :: dset_id       ! Dataset identifier
INTEGER(HID_T) :: dspace_id   ! Dataspace identifier


INTEGER(HSIZE_T), DIMENSION(2) :: dims = (/4,6/) ! Dataset dimensions
INTEGER   ::   rank = 2                        ! Dataset rank

INTEGER   ::   error ! Error flag

!
! Initialize FORTRAN interface.
!
CALL h5open_f(error)

!
! Create a new file using default properties.
!
CALL h5fcreate_f(filename, H5F_ACC_TRUNC_F, file_id, error)

!
! Create the dataspace.
!
CALL h5screate_simple_f(rank, dims, dspace_id, error)

!
! Create the dataset with default properties.
!
CALL h5dcreate_f(file_id, dsetname, H5T_NATIVE_INTEGER, dspace_id, &
       dset_id, error)

!
! End access to the dataset and release resources used by it.
!
CALL h5dclose_f(dset_id, error)

!
! Terminate access to the data space.
!
CALL h5sclose_f(dspace_id, error)

!
! Close the file.
!
CALL h5fclose_f(file_id, error)

!
! Close FORTRAN interface.
!
CALL h5close_f(error)

END PROGRAM H5_CRTDAT
1>------ Build started: Project: Console1, Configuration: Debug Win32 ------
1>Linking...
1>------ Build started: Project: Console1, Configuration: Release Win32 ------
1>Linking...
1>ipo: warning #11082: F:\slnFortran\Console1\Release\h5_crtdat.obj: locally defined symbol __imp__PREDEFINED_TYPES imported
1>ipo: warning #11082: F:\slnFortran\Console1\Release\h5_crtdat.obj: locally defined symbol __imp__H5F_FLAGS imported
1>h5_crtdat.obj : warning LNK4217: locally defined symbol _PREDEFINED_TYPES imported in function _MAIN__
1>h5_crtdat.obj : warning LNK4217: locally defined symbol _H5F_FLAGS imported in function _MAIN__
1>h5_crtdat.obj : error LNK2019: unresolved external symbol _H5LIB_mp_H5OPEN_F referenced in function _MAIN__
1>h5_crtdat.obj : error LNK2019: unresolved external symbol _H5F_mp_H5FCREATE_F referenced in function _MAIN__
……
1>Release\Console1.exe : fatal error LNK1120: 8 unresolved externals
1>
1>Build log written to"file://F:\slnFortran\Console1\Release\BuildLog.htm"
1>Console1 - 9 error(s), 4 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


页: [1]
查看完整版本: VS+Fortran 调用HDF5库的源代码