Я пытаюсь собрать OpenFST для iOS вот где терпит неудачу make:
cd openfst-1.6.5/src/lib
/Applications/Xcode.app/Contents/Developer/usr/bin/g++
-DHAVE_CONFIG_H
-I./../include
-I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/c++/4.2.1/
-I/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/
-miphoneos-version-min=8.1
-arch armv7
-fno-exceptions
-funsigned-char
-pipe
-no-cpp-precomp
-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk
-std=c++11
-MT compat.lo -MD -MP -MF .deps/compat.Tpo -c compat.cc -o compat.o
Это бросает много подобных ошибок, как эти
/../iPhoneOS.sdk/usr/include/c++/4.2.1/cwchar:212:12:
error: cannot initialize return object of type
'wchar_t *' with an rvalue of type 'const wchar_t *'
{ return wcschr(const_cast<const wchar_t*>(__p), __c); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/../iPhoneOS.sdk/usr/include/c++/4.2.1/cwchar:218:12:
error: cannot initialize return object of type
'wchar_t *' with an rvalue of type 'const wchar_t *'
{ return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/../usr/include/c++/v1/tuple:1352:22:
error: C++ requires a type specifier for all declarations
pair<_T1, _T2>::pair(piecewise_construct_t,
^
/../usr/include/c++/v1/tuple:1351:1:
error: declarator requires an identifier
inline _LIBCPP_INLINE_VISIBILITY
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Я чувствую, что я использую неправильную версию C ++ здесь или что-то?
Если c++/4.2.1
в вашей трассировке означает GCC 4.2.1, это положительно древний набор компиляторов (11 лет). OpenFst README говорит, что требует GCC 4.7 или выше. (Это предположительно для поддержки C ++ 11 и C99.) Я не знаю, как отобразить версии XCode на версии компилятора Clang (и какие версии Clang имеют существенную поддержку C ++ 11), но я думаю, что это где-то задокументировано.
Я использую OpenFst в Linux + armv7 + GCC 5.4.0 (дешевый Chromebook + Crouton), так что я сомневаюсь, что поддержка ARM является проблемой.
Других решений пока нет …