首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VisualStudio2019、Win10和HDF5使用vcpkg安装。未解析外部符号H5T_IEEE_F64BE_g

VisualStudio2019、Win10和HDF5使用vcpkg安装。未解析外部符号H5T_IEEE_F64BE_g
EN

Stack Overflow用户
提问于 2021-08-13 22:20:02
回答 2查看 491关注 0票数 2

任何帮助都是非常感谢的。在Windows 10上使用使用vcpkg和VisualStudio2019安装的HDF5库时,我遇到了链接错误。

我在Windows 10上安装了HDF5 1.12.0,使用vcpkg: PowerShell:.\vcpkg install hdf5 hdf5:x64-windows

然后,我尝试使用VisualStudio2019构建使用HDF5的项目,但我始终得到以下LNK2001错误。

  • unresolved外部符号H5T_IEEE_F64BE_g
  • unresolved外部符号 H5T_STD_I64BE_g
  • unresolved外部符号 H5T_C_S1_g
  • unresolved外部符号 H5T_NATIVE_INT_g
  • unresolved外部符号 H5T_NATIVE_DOUBLE_g

我试图通过直接添加vcpkg/packages/ for HDF5、SZIP和ZLIB下的附加库目录来解决这个问题,这些目录是作为前面给出的HDF5安装步骤的一部分自动安装的,我还按照HDF5文档规定的顺序将库文件添加到附加依赖项中:

  • hdf5_hl.lib
  • hdf5.lib
  • szip.lib
  • zlib.lib

但我仍然有未解决的外部符号错误。

EN

回答 2

Stack Overflow用户

发布于 2021-08-18 09:46:30

所有这些符号都以H5_DLLVAR作为前缀。因此,如果不使用H5_BUILT_AS_DYNAMIC_LIB,并且只使用vcpkg提供的MSBuild集成,则需要显式设置预处理器定义CMake。您还可以打开vcpkg,因为如果库是动态构建的,它应该将该定义嵌入到正确的hdf5头中。

票数 2
EN

Stack Overflow用户

发布于 2021-08-14 23:20:13

我使用的vcpkg命令安装库的动态版本。相反,我使用以下方法安装了库的静态版本

代码语言:javascript
复制
./vcpkg install hdf5:x64-windows-static

不需要手动包含库目录或库本身。只需确保也运行此命令(当第一次安装vcpkg时):

代码语言:javascript
复制
./vcpkg.exe integrate install

一旦完成,VisualStudio2019就能够为我的项目正确地使用HDF5库,链接器错误也消失了(二进制文件生成)。

希望这对将来的人有帮助!

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68778873

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档