如何为iOS应用构建libphonenumber(来自Google)?

时间:2020-07-05 03:42:48

标签: c++ ios xcode libphonenumber

由于Kotlin的Cocoapod gradle插件出现问题。

我已经努力了2天,试图为iOS应用构建libphonenumber:(https://github.com/google/libphonenumber/

  1. 我已经在本地克隆了仓库。

  2. 我使用了以下命令: brew install boost cmake icu4c pkg-config protobuf wget

注意:icu4c无法安装最新的。 因此,我执行了以下操作来升级“ icu4c” brew upgrade icu4c

来自以下位置:〜/ Downloads / libphonenumber / cpp。 我执行以下操作:

  1. 修改CMakeLists.txt 从此:
if (32BIT)
  set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m32")
  set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
  set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -m32")
  set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -m32")
endif ()

对此:

#if (32BIT)
  set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m64")
  set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m64")
  set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -m64")
  set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -m64")
#endif ()

  1. 然后我运行cmake,例如:
cmake \
-CMAKE_SYSTEM_NAME=iOS \
-CMAKE_OSX_ARCHITECTURES=x86_64 \
-CMAKE_OSX_SYSROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneOS13.5.sdk \
-DGTEST_SOURCE_DIR=~/Documents/googletest/googletest/ \
-DGTEST_INCLUDE_DIR=~/Documents/googletest/googletest/include/ \
-DICU_UC_INCLUDE_DIR=/usr/local/Cellar/icu4c/67.1/include/ \
-DICU_UC_LIB=/usr/local/Cellar/icu4c/67.1/lib/libicuuc.dylib \
-DICU_I18N_INCLUDE_DIR=/usr/local/Cellar/icu4c/67.1/include/ \
-DICU_I18N_LIB=/usr/local/Cellar/icu4c/67.1/lib/libicui18n.dylib \
-DUSE_STD_MAP=ON 
  1. 然后我运行: make 哪个构建libphonenumber.a

  2. 然后我对该库运行测试,该库通过: ./libphonenumber_test 这样就过去了。

因此,看来我需要修改: -CMAKE_OSX_ARCHITECTURES=x86_64

要指定armv7,armv7s,arm64和arm64e等,对吗?我还有什么想念的吗?模拟器?

我正在使用Xcode 11.5。

0 个答案:

没有答案