gpt4 book ai didi

XCode4.1 "strip debug symbols during copy"

转载 作者:行者123 更新时间:2023-12-04 09:43:48 27 4
gpt4 key购买 nike

我无法让 XCode 中的“在复制过程中去除调试符号”选项按照我认为的方式工作。文档说:

“激活此设置会导致在构建期间复制的二进制文件(例如,在复制捆绑资源或复制文件构建阶段)被删除调试符号。”

然而,实际上发生的情况是剥离仅在复制发生后对链接的二进制文件执行,因此复制的文件永远不会被剥离。例如:构建日志内容如下:

Compile main.c...
Link /Users/snowcrash/proj/blah/build/Release/foo.dylib
Copy bar/foo.dylib
Strip build/Release/foo.dylib

根据 nm bar/foo.dylib 仍然有调试符号,正如你所期望的那样,因为 foo.dylib 被复制了之前 剥离。我尝试了各种设置组合(如下),但无法在复制之前进行剥离。

知道如何删除复制的文件吗?或者我只是误解了它的意思!

其他相关设置:

  • 部署后处理 - 是(必需或其他设置忽略)
  • 在复制过程中去除调试符号 - 是
  • 剥离链接产品 - 是(剥离 build/Release/foo.dylib 产品)
  • 使用单独的剥离 - 是(使用下面的附加剥离标志调用剥离,不剥离复制的文件)
  • 附加 strip 标志 - '-x'

如果复制期间剥离调试符号不起作用,我将尝试使用构建后脚本并自己调用剥离。

最佳答案

由于 XCode strip 选项没有按预期运行,我已将它们全部关闭并添加了一个运行脚本构建阶段来执行此操作:

if [ $CONFIGURATION = 'Stripped' ]
then
strip -x -S $PRODUCT_NAME.dylib;
fi

关于XCode4.1 "strip debug symbols during copy",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7728211/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com