#ios #compilation #x86-64 #hdf5 #armv7
#iOS #Сборник #x86-64 #hdf5 #armv7
Вопрос:
Я застрял в своем приложении для iOS (Objective-C).
Я создаю приложение для своего устройства iOS, и мне нужно использовать библиотеку HDF5.
Однако во время моей компиляции у меня возникли некоторые ошибки :
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> constamp;, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > constamp;, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > constamp;) in VisualSearchEngine.o
"_H5Fopen", referenced from:
void flann::save_to_file<float>(flann::Matrix<float> constamp;, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > constamp;, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > constamp;) in VisualSearchEngine.o
"_H5Fcreate", referenced from:
void flann::save_to_file<float>(flann::Matrix<float> constamp;, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > constamp;, 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
Действительно, после использования следующей командной строки в одной из библиотек,
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
В моем приложении я использую другие фреймворки, и все они представляют собой файл fat, который содержит по крайней мере архитектуры armv7 armv7s i386 и arm64, что не относится к HDF5.
Так что это не было проблемой.
Мой вопрос заключается в следующем: как я могу собрать / скомпилировать HDF5 с архитектурой armv7?Или, может быть, есть доступная платформа, которая содержит соответствующие архитектуры?
Мне нужно использовать с архитектурой armv7, потому что я использую другой фреймворк, который содержит только архитектуру armv7.
Я застрял и не знаю, как двигаться дальше.
Спасибо за вашу помощь.