我坚持使用我的iOS应用程序(Objective-C)。
我正在为我的iOS设备构建应用程序,我需要使用HDF5 library。
然而,在我的编译过程中,我遇到了一些错误:
Undefined symbols for architecture armv7:
"_H5T_NATIVE_FLOAT_g", referenced from:
int flann::(anonymous namespace)::get_hdf5_type<float>() in VisualSearchEngine.o
"_H5open", referenced from:
int flann::(anonymous namespace)::get_hdf5_type<float>() in VisualSearchEngine.o
"_H5Dcreate2", referenced from:
void flann::save_to_file<float>(flann::Matrix<float> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in VisualSearchEngine.o
"_H5Fopen", referenced from:
void flann::save_to_file<float>(flann::Matrix<float> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in VisualSearchEngine.o
"_H5Fcreate", referenced from:
void flann::save_to_file<float>(flann::Matrix<float> const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我没有把所有错误都用于更好的阅读,但是你得到了它。
据我所知,HDF5仅使用一种架构构建: x86_64
确实在其中一个lib上使用了以下命令行后,
lipo -info /usr/local/Cellar/hdf5/1.8.17/lib/libhdf5_cpp.dylib
我收到了这条消息:
Non-fat file: /usr/local/Cellar/hdf5/1.8.17/lib/libhdf5_cpp.dylib is architecture: x86_64
在我的应用程序上,我使用其他框架,它们都是胖文件,至少包含架构armv7 armv7s i386和arm64,而HDF5并非如此。 所以这不是问题。
我的问题如下:如何使用armv7架构构建/编译HDF5?或者是否有可用的框架包含相应的架构?
我需要使用armv7架构,因为我使用另一个仅包含armv7架构的框架。
我被困住了,我不知道如何前进。
感谢您的帮助。