2016-12-15 1 views
1

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.

+0

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

+0

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

Antwort

0

Dies scheint hier auf die Frage ähnlich zu sein:
Linking HDF5 library into Visual C++ DLL project: unresolved external symbol __imp__*
So diese Schritte folgende dort vorgeschlagen, die denen ähnlich sind, die ich in dem Kommentar verknüpft von den offiziellen HDF5 Seiten kommen helfen? Hier zitiere ich sie wieder:
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

Verwandte Themen