我想編譯並鏈接使用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相關的某種方式。
只是一個快速檢查,我不知道你正在使用的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
最後,我把它編譯。解決方案是與szip.lib和zlib.lib鏈接。這不是寫在CMake指令的任何地方。但是,它被寫入關於編譯VS的文檔中。無論如何,感謝您的幫助! – Carl