构建我的 Xcode 项目会出现以下警告:
/ld:-1: -headerpad_max_install_names is ignored when used with -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES)
如何针对此警告采取行动?
大概 Xcode 正在将此 headerpad_max_install_names
实体扔给正在提示的链接器。
但我看不到在哪里。 grep
ping 我的项目没有找到这个 token 。
我希望实现(并保持)零警告。
编辑:我发现 myproject/External/cmake-modules/ios.toolchain.cmake:
if (ENABLE_BITCODE)
set(BITCODE "-fembed-bitcode")
set(HEADER_PAD "")
message(STATUS "Enabling bitcode support.")
else()
set(BITCODE "")
set(HEADER_PAD "-headerpad_max_install_names")
message(STATUS "Disabling bitcode support.")
endif()
最佳答案
-headerpad_max_install_names
是一个链接器参数,根据您正在处理的项目,您可能可以禁用它。 Here's someone并描述了如何在 XCode 中更改它。
根据the LLVM change that introduced it , headerpad_max_install_names
将 header 填充足够的字节,以便 dylib ID 和加载的 dylib 路径都可以扩展到 MAXPATHLEN。
这在许多项目的后续构建步骤中可能需要,从而允许重写 dylib 路径。如果您不需要更改任何安装名称(我认为它会增加二进制文件的可移植性),您可以将其关闭。
关于ios - 与 -bitcode_bundle 一起使用时,-headerpad_max_install_names 将被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57597424/