C でプログラミングする方法を学ぼうとしていて、.hdf ファイルから C プログラムにデータをインポートできるようにしたいと考えています。
Mac OS X lion を搭載した 2009 年半ばの MacBook Pro を使用しています。
hdd に関連するすべてのヘッダー ファイルをシステムのどこに置くべきかわからなかったため、問題が発生していると思います (覚えておいてください、私は少し初心者です)。そのため、hdd Web サイトから hdf5-1.8.9-freebsd-shared フォルダーをダウンロードし、すべての .h ファイルを/include
サブディレクトリ/usr/include
から自分のコンピューターのディレクトリに手動でドラッグしました。
通常の gcc ターミナル コマンドを使用して .c プログラムをコンパイルしようとすると、次のようなエラーが表示されます (形式については申し訳ありませんが、正確なエラーはそれほど重要ではないと思います)。
Undefined symbols for architecture x86_64:
"_H5check_version", referenced from:
_main in cc9FVO6S.o
"_H5Fcreate", referenced from:
_main in cc9FVO6S.o
"_H5Screate_simple", referenced from:
_main in cc9FVO6S.o
"_H5open", referenced from:
_main in cc9FVO6S.o
"_H5T_STD_I32LE_g", referenced from:
_main in cc9FVO6S.o
"_H5Dcreate2", referenced from:
_main in cc9FVO6S.o
"_H5T_NATIVE_INT_g", referenced from:
_main in cc9FVO6S.o
"_H5Dwrite", referenced from:
_main in cc9FVO6S.o
"_H5Dclose", referenced from:
_main in cc9FVO6S.o
"_H5Sclose", referenced from:
_main in cc9FVO6S.o
"_H5Fclose", referenced from:
_main in cc9FVO6S.o
"_H5Fopen", referenced from:
_main in cc9FVO6S.o
"_H5Dopen2", referenced from:
_main in cc9FVO6S.o
"_H5Dread", referenced from:
_main in cc9FVO6S.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
正確なエラーは、コンパイルしようとしているコードによって異なります。これは、サンプル プログラムをコンパイルしようとしたときに生成されました。
Mac OS X の C で hdf5 を動作させた経験のある人はいますか? 私はそれがすべて非常に混乱していることに気づきました。
ちなみに私は普段pythonを使っていて、h5pyも問題なくよく使っています。