如何使用 iOS 的 fvisibility=hidden 标志编译 openssl

how to compile openssl with fvisibility=hidden flag for iOS

我需要用 -fvisibility=hidden 编译 openssl 代码来隐藏大量的符号,然后在 Xcode 中使用。 使用下面的 GitHub link.. 我可以得到 libssl.a 和 libcrypto.a 但是没有选项我可以看到 build-libssl.sh (shell 脚本)添加选项“-fvisibility=hidden”。

https://github.com/x2on/OpenSSL-for-iPhone/blob/master/build-libssl.sh

我确实尝试在 Xcode 的构建设置中的 "Other C Flags" 中添加“-fvisibility=hidden”,但似乎不起作用。因此,请为这个问题提出建议。

根据提到的 GitHub link,转到脚本文件夹 -> build-loop-archs.sh 然后编辑此文件 "build-loop-archs.sh" 并将“-fembed-bitcode”替换为“-fvisibility=hidden”,然后保存它和 运行 脚本。它会起作用。

SDK >= 9 的嵌入位码

 if [ "${CONFIG_DISABLE_BITCODE}" != "true" ]; then
    if [[ "${SDKVERSION}" == 9.* || "${SDKVERSION}" == [0-9][0-9].* ]]; then
      LOCAL_CONFIG_OPTIONS="${LOCAL_CONFIG_OPTIONS} -fvisibility=hidden"
    fi
  fi

https://github.com/x2on/OpenSSL-for-iPhone/blob/master/build-libssl.sh