如何使用命令行将“其他链接器标志”添加到 xcode 项目?
Posted
技术标签:
【中文标题】如何使用命令行将“其他链接器标志”添加到 xcode 项目?【英文标题】:How to add "Other Linker Flags" to xcode project using command line? 【发布时间】:2012-06-21 22:20:08 【问题描述】:我正在尝试自动化 xcode 项目的构建过程。问题是我需要在构建项目时添加“其他链接器标志”。我不能只是手动将它添加到项目构建设置中,我必须使用命令行来完成。 可能我可以以某种方式编辑项目文件或配置文件吗? 只要它可以作为脚本运行,任何选项都很好。 有任何想法吗?谢谢
【问题讨论】:
【参考方案1】:您可以通过为 xcodebuild 指定一个 xcconfig 文件来做到这一点。例如:
echo 'OTHER_LDFLAGS = $(OTHER_LDFLAGS) -force_load "$(SRCROOT)/calabash.framework/calabash" -lstdc++' > temp.xcconfig
xcodebuild -xcconfig temp.xcconfig ...
【讨论】:
如何设置这个标志:-force_load "$(SRCROOT)/calabash.framework/calabash" -lstdc++ ? 当我尝试使用“xcodebuild”构建项目时出现错误:以下构建命令失败:Libtool build/appname.build/Debug-iphoneos/foo.build/Objects-normal/armv6 /foo.a 正常的 armv6。即使当我在 xcode 中手动添加链接器标志时项目构建良好 如果它在 Xcode 中构建良好,如果您指定正确的方案/目标/配置等,您可能应该能够使用 xcodebuild 构建它。查看 xcodebuild 文档或者您可以打开一个新问题。 您可以添加多个链接器标志吗?喜欢 -ObjC? @Frank 是的 - 我给出的示例通过了几个链接器标志(-force_load 和 -ldstdc++);您可以在那里添加更多内容。【参考方案2】:@Jesse Rusak 的回答有效,但直接向命令行添加选项要简单一些,注意从 shell 中转义变量,例如
xcodebuild ... "OTHER_LDFLAGS=\$(OTHER_LDFLAGS) -all_load"
【讨论】:
【参考方案3】:在像 BBEdit 这样的编辑器中打开 project.pbxproj 文件并粘贴您想要的标志。搜索
buildSettings =
...
SWIFT_VERSION = 4.2;
变成
buildSetting =
...
SWIFT_VERSION = 4.2;
OTHER_LDFLAGS = "-all_load";
应该有一个部分用于您的调试和发布方案。为所有人做这件事
【讨论】:
以上是关于如何使用命令行将“其他链接器标志”添加到 xcode 项目?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 VLC 或 FFMPEG 命令行将外部音轨添加到视频文件
如何使用命令行将我的 ssh 公钥添加到 Mikrotik 路由器设备?