Ich versuche ein Projekt zu kompilieren und zu verknüpfen, das die HDF5-Bibliothek verwendet. Ich verwende Windows 10, VS2015 (C++ Compiler) und CMake. Ich laufe in Probleme bei der Verknüpfung und bekommen eine Menge von Fehlern wieKompilieren eines hdf5-Projekts mit statischer Verknüpfung
libhdf5_cpp.lib (H5Attribute.obj): Fehler LNK2001: extern Symbol _H5open
Ich bin eine 32-Bit-Anwendung kompiliert und ich verwende die 32-Bit-Pre-Build-Binärdateien des HDF5-Pakets. Der Linker versucht, mit der libhdf5_cpp.lib-Datei (die die statische Bibliothek gemäß der HDF5-Homepage sein sollte) zu verknüpfen. Ich habe sowohl den Release- als auch den Debug-Modus beim Kompilieren ausprobiert. Ich habe auch versucht, dynamisch zu verknüpfen, was zu den gleichen Fehlermeldungen führte.
Ich habe jetzt schon einige Zeit damit verbracht und bin mir nicht sicher, dass ich das in einer vernünftigen Zeit selbst lösen werde. Hat jemand gute Vorschläge, um weiterzumachen?
Und ja, das CMake-Skript und Compiling funktioniert gut unter Linux, also denke ich, es ist VS in irgendeiner Weise verwandt.
Nur eine schnelle Überprüfung, ich weiß nicht, welche Version von HDF5 Sie verwenden. Wahrscheinlich haben Sie es getan, aber haben Sie den HDF5-Abschnitt über Visual Studio und Cmake und das Setup sorgfältig gelesen und befolgt? https://support.hdfgroup.org/HDF5/faq/windows.html#cm-runapp Und das? http://hdf4.org/ftp/HDF5/releases/hdf5-1.10/hdf5-1.10.0-patch1/src/unpacked/release_docs/USING_HDF5_CMake.txt – fedepad
Endlich habe ich es kompilieren. Die Lösung bestand darin, auch mit szip.lib und zlib.lib zu verlinken. Dies ist nirgends in der CMake-Anweisung geschrieben. Es ist jedoch in dem Dokument bezüglich der Kompilierung mit VS geschrieben. Wie auch immer, danke für die Hilfe! – Carl