Я пытаюсь интегрировать библиотеку php 7.3 в мой проект IOS.
Для кросс-компиляции php для arm64 я использовал этот скрипт sh:
#!/bin/bash
# NOTE: PHP thinks "finite" is available, but it's not. You have to disable it manually in the config.h file.
PLATFORM=iPhoneOS # iPhoneSimulator # iPhoneOS
HOST=arm-apple-darwin10 # i386-apple-darwin10 # arm-apple-darwin10
ARCH=arm64 # i386 # armv7s #armv7
SDK_VERSION=12.1
XCODE_ROOT=`xcode-select -print-path`
PLATFORM_PATH=$XCODE_ROOT/Platforms/$PLATFORM.platform/Developer
SDK_PATH=$PLATFORM_PATH/SDKs/$PLATFORM$SDK_VERSION.sdk
FLAGS="-isysroot $SDK_PATH -arch $ARCH -miphoneos-version-min=$SDK_VERSION" # -miphoneos-version-min=$SDK_VERSION -mios-simulator-version-min=$SDK_VERSION"PLATFORM_BIN_PATH=$XCODE_ROOT/Toolchains/XcodeDefault.xctoolchain/usr/bin
CC=$PLATFORM_BIN_PATH/clang
CXX=$PLATFORM_BIN_PATH/clang++
CFLAGS="$FLAGS -std=gnu99"CXXFLAGS="$FLAGS -std=gnu++11 -stdlib=libc++"LDFLAGS=$FLAGS
export CC CXX CFLAGS CXXFLAGS LDFLAGS
CONFIGURE_FLAGS="--host=$HOST --enable-embed=static --without-pear --disable-opcache --without-iconv --disable-cgi --disable-shared --disable-cli --enable-mysqlnd --with-pdo-mysql --with-mysqli --with-mysql --with-tsrm-pthreads"./configure $CONFIGURE_FLAGS
Затем я интегрировал файл libphp7.a в «Связанные фреймворки и библиотеки» в xcode и попытался построить проект. Но я получаю эту ошибку:
Неопределенные символы для архитектуры arm64:
«___clear_cache», по ссылке от:
_sljit_generate_code в libphp7.a (pcre2_jit_compile.o)
ld: символ (ы) не найден для архитектуры arm64
clang: error: команда компоновщика завершилась неудачно с кодом выхода 1 (используйте -v для просмотра вызова)
Что я делаю wronk и как правильно интегрировать php?
Задача ещё не решена.
Других решений пока нет …