2016-12-15 64 views
1

我想编译并链接使用HDF5库的项目。我正在使用Windows 10,VS2015(C++编译器)和CMake。我在链接过程中遇到的问题,并得到了很多错误,像使用静态链接编译hdf5-project

libhdf5_cpp.lib(H5Attribute.obj):错误LNK2001:解析外部符号_H5open

我编译32位应用程序我使用HDF5软件包的32位预构建二进制文件。链接器试图链接libhdf5_cpp.lib文件(根据HDF5主页,它应该是静态库)。我在编译期间尝试了Release和Debug模式。我也试图动态链接,导致相同的错误消息。

我已经花了相当一段时间了,现在我不确定我会在合理的时间内自己解决这个问题。有没有人有任何好的建议热继续?

是的,CMake脚本和编译在Linux下运行良好,所以我猜它是VS相关的某种方式。

+0

只是一个快速检查,我不知道你正在使用的HDF5的版本。也许,你已经做到了,但是你有没有仔细阅读并遵循Visual Studio和Cmake上的HDF5部分以及设置? https://support.hdfgroup.org/HDF5/faq/windows.html#cm-runapp 而这个? http://hdf4.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.0-patch1/src/unpacked/release_docs/USING_HDF5_CMake.txt – fedepad

+0

最后,我把它编译。解决方案是与szip.lib和zlib.lib链接。这不是写在CMake指令的任何地方。但是,它被写入关于编译VS的文档中。无论如何,感谢您的帮助! – Carl

回答