2016-06-22 12 views
1

私はHDF5の学習を始めましたが、HDF5 C++で以下の問題を解決することはできません。リンカの問題HDF5 C++

(背景情報:私はOSX El CapitanでHomebrew経由でhdf5をインストールしました。一般的なC APIとPythonモジュールh5pyを使用したいくつかのプログラムでは成功しましたが、C++ APIは機能しません)

ここで

は私のコマンドの例です:

h5c++ simple.cpp 

私は次のエラーをコンパイルしますが受信しよう:

Undefined symbols for architecture x86_64: 
    "H5::H5File::H5File(...)" ... 
    "H5::CommonFG::createDataSet(...)" ... 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

その他の情報:

私はH5Cpp.hを含みます。私はそれが私が含める必要がある唯一のファイルであるという印象の下にいる。

最初は、the Homebrew formulaで読んだ内容にもかかわらず、C++がデフォルトで有効になっていない可能性があります。ダブルチェックとして、私は--with-cxxをアンインストールして再インストールしました(明らかに動作しませんでした)。

これらのエラーは本当に私に何を伝えていますか?なぜ私のC++ HDF5プログラムは動作しませんか?私が知っておくべきことは何ですか?

+0

これらはリンカのエラーです - リンカ(またはコンパイラ)のオプションは何ですか? – Soren

+0

@Sorenが質問を更新しました。私はあらゆる種類のことを試しましたが、最も基本的なh5C++コマンドでも同じエラーが発生します。 –

答えて

1

何人かの友人と協力し、H5Cの++からの詳細出力を使用したとき、私は、問題を発見:

h5c++ -v simple.cpp 

を私はHDF5に付属しているアナコンダプラットフォームを、インストールしていました。私は、エラーがanaconda HDF5とHomebrew HDF5の間の競合の結果であるかどうかはわかりませんが、Homebrew HDF5実行可能ファイルを使用することで問題は解決します。

私が実際にやったのは、anacondaをアンインストールすることでした。

では、anacondaプラットフォームのインストールでは、PATHにツールを組み込むための行が追加されました。行をコメントアウトしてbashを再起動するか、PATHを変更してください。

関連する問題