2016-12-15 4 views
1

HDF5ライブラリを使用するプロジェクトをコンパイルおよびリンクしようとしています。私はWindows 10、VS2015(C++コンパイラ)とCMakeを使用しています。私はリンクの際に問題に実行してスタティックリンクを使用したhdf5プロジェクトのコンパイル

libhdf5_cpp.lib(H5Attribute.obj)のようなエラーの多くを得る:エラーLNK2001:未解決の外部シンボル_H5open

私は32ビットアプリケーションをコンパイルしていますが私はHDF5パッケージの32ビットのビルド前のバイナリを使用します。リンカーは、libhdf5_cpp.libファイル(HDF5ホームページに従って静的ライブラリでなければなりません)とリンクしようとしています。コンパイル中にリリースとデバッグの両方のモードを試しました。私も動的にリンクしようとしましたが、同じエラーメッセージが表示されました。

私は今これでかなりの時間を費やしており、私はこれを妥当な時間内に自分で解決することは確信しています。誰かが何か良い提案を続けるために熱いですか?

そして、ええ、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

答えて

0

これは、ここで問題に類似しているように表示されます。
Linking HDF5 library into Visual C++ DLL project: unresolved external symbol __imp__*
したがって、これらの手順を実行するには、私は助ける公式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

関連する問題