私のCMAKEスクリプトでfind_package(HDF5 COMPONENTS CXX REQUIRED)
を使用してインクルードディレクトリとライブラリをロードします。 Cakeは私に言いますCmakeはhdf5を見つけても、ウィンドウ上でdllとリンクしようとしています
Found HDF5: C:/Program Files/HDF_Group/HDF5/1.10.0/bin/hdf5_cpp.dll (found version "1.10.0") found components: CXX
私のvisual studio
ソリューションを生成します。 私も自分の目標のために${HDF5_LIBRARIES} ${HDF5_CXX_LIBRARIES}
に保存されているライブラリを使用しますが、私はビルドするとき、私は、リンカエラーLNK1107
を取得し、ファイルhdf5_cpp.dll
のためと言う:
invalid or corrupt file: cannot read at 0x380
私はvisual studio
をしようとしているという事実によるものであると考えています
C:\Program Files\HDF_Group\HDF5\1.10.0\lib
質問:が、これはFindHDFのバグですか、私は直接、すなわちに、dll
ファイルに対しての代わりに、別のフォルダにあるlib
ファイルにリンク何か間違って設定してください
フム、このcmakeのスクリプトが想定しているとして、これは、良いオプションではありませんさまざまなプラットフォームで動作するようにしたいと思っています。プラットフォーム固有のもので多くのケースを書くのは避けたいと思います。これが既知のバグである場合、なぜこれが修正されていないのだろうか。 – NOhs
ここに問題があるので、それに従って解決しているかどうかを確認してください。https://gitlab.kitware.com/cmake/cmake/issues/16534 – NOhs
パスのマニュアル仕様については、おそらくパスのスペースのため引用符を使用します。 – NOhs