【发布时间】:2017-05-01 06:16:37
【问题描述】:
我正在尝试编译和链接一个使用 HDF5 库的项目。我正在使用 Windows 10、VS2015(C++ 编译器)和 CMake。我在链接过程中遇到了很多问题,比如
libhdf5_cpp.lib(H5Attribute.obj) : error LNK2001: unresolved external symbol _H5open
我正在编译一个 32 位应用程序,并使用 HDF5 包的 32 位预构建二进制文件。链接器正在尝试链接 libhdf5_cpp.lib 文件(根据 HDF5 主页,它应该是静态库)。我在编译期间尝试了发布和调试模式。我也尝试过动态链接,这导致了相同的错误消息。
我现在已经花了相当长的时间来解决这个问题,但我不确定我是否会在合理的时间内自己解决这个问题。有没有人对hot to继续有什么好的建议?
是的,CMake 脚本和编译在 Linux 下运行良好,所以我猜它在某种程度上与 VS 相关。
【问题讨论】:
-
只是快速检查一下,我不知道您使用的是哪个版本的 HDF5。您可能已经完成了,但是您是否仔细阅读并遵循了有关 Visual Studio 和 Cmake 的 HDF5 部分以及设置? support.hdfgroup.org/HDF5/faq/windows.html#cm-runapp 这个呢? hdf4.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.0-patch1/src/…
-
终于编译好了。解决方案是也与 szip.lib 和 zlib.lib 链接。这没有写在 CMake 指令的任何地方。但是,它写在有关使用VS编译的文档中。无论如何,感谢您的帮助!
标签: c++ static-libraries hdf5