我正在尝试学习如何在 C 中编程,并且我希望能够将数据从 .hdf 文件导入到我的 C 程序中。
我正在使用带有 Mac OS X lion 的 2009 年中期 MacBook Pro。
我认为我遇到了问题,因为我不知道将所有与 hdd 关联的头文件放在系统上的哪个位置(请记住,我有点菜鸟)。所以我只是从hdd网站下载了hdf5-1.8.9-freebsd-shared文件夹,并手动将/include
子目录中的所有.h文件拖到/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
尽管确切的错误取决于我要编译的代码。这是在我尝试编译示例程序时生成的。
有没有人有让 hdf5 在 Mac OS X 的 C 语言中工作的经验?我发现这一切都非常令人困惑。
顺便说一句,我通常使用python,并且经常使用h5py没有问题。