1

构建我的 Xcode 项目会给出以下警告:

/ld:-1: -headerpad_max_install_names is ignored when used with -bitcode_bundle (Xcode setting ENABLE_BITCODE=YES)

如何对这个警告采取行动?

大概 Xcode 正在将该headerpad_max_install_names实体扔给正在抱怨的链接器。

但我看不到 WHERE。grepping 我的项目没有找到这个令牌。

我想实现(并保持)零警告。

编辑:我在 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()
4

1 回答 1

1

-headerpad_max_install_names是一个链接器参数,根据您正在处理的项目,它可能是您可以禁用的。 这是一个描述如何在 XCode 中更改它的人。

根据引入它的 LLVM 更改,将headerpad_max_install_names 头填充足够的字节,以便 dylib ID 和加载的 dylib 路径都可以扩展到 MAXPATHLEN

这在许多项目的后续构建步骤中可能需要,从而允许重写 dylib 路径。如果您不需要更改任何安装名称(我认为它会增加二进制文件的可移植性),您可以将其关闭。

于 2019-09-24T04:34:48.063 回答