任何帮助深表感谢。我在 Windows 10 上尝试使用通过 vcpkg 安装的 HDF5 库和 Visual Studio 2019 时遇到链接错误。
我使用 vcpkg 在 Windows 10 上安装了 HDF5 1.12.0:
电源外壳:.\vcpkg install hdf5 hdf5:x64-windows
然后,我尝试使用 Visual Studio 2019 构建使用 HDF5 的项目,但我不断收到以下信息LNK2001 errors.
-
未解析的外部符号H5T_IEEE_F64BE_g
-
未解析的外部符号H5T_STD_I64BE_g
-
未解析的外部符号H5T_C_S1_g
-
未解析的外部符号H5T_NATIVE_INT_g
-
未解析的外部符号H5T_NATIVE_DOUBLE_g
我试图通过直接添加来解决这个问题附加库目录位于 vcpkg/packages/ 下的 HDF5、SZIP 和 ZLIB,它们是作为前面给出的 HDF5 安装步骤的一部分自动安装的,我还将库文件添加到了额外的依赖项按照 HDF5 文档规定的顺序:
- hdf5_hl.lib
- hdf5.lib
- szip.lib
- zlib.lib
但我仍然有未解决的外部符号错误。
所有这些符号都带有前缀H5_DLLVAR
。因此,您需要显式设置预处理器定义H5_BUILT_AS_DYNAMIC_LIB
如果您不使用 CMake 并且仅使用 vcpkg 提供的 MSBuild 集成。您还可以使用 vcpkg 打开并发出问题,因为如果动态构建库,它应该将该定义嵌入到正确的 hdf5 标头中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)