2009-08-28 66 views
13

我正在使用一个生成动态库(Cocoa API)的现有项目。如何将现有的Xcode目标从动态更改为静态?

我宁愿生成一个静态库,但如果我将 [Linking | Mach-O Type]字段从“Dynamic Library”更改为“Static Library”,则Clean Project和Build Project都会抱怨 target有一个无效的MACH_O_TYPE值'staticlib'。

有没有一种直接的方式让生成 静态.a文件?

感谢,
埃里克

回答

4

我结束了创建一个新的“静态库”项目,然后添加的所有 成员。关闭xcode并启动 中的两个项目文件,我可以快速完成新项目。

+2

不幸的是,这是正确的解决方案。目前没有办法将目标从一种目标类型转换为另一种目标类型。 – cdespinosa 2009-09-16 00:27:54

20

打开了使用文本编辑的project.pbxproj文件中YourProjectName.xcodeproj文件夹,搜索productType并改变它从“com.apple.product动态”到“com.apple值.product-static

+9

在我的情况下,它的** com.apple.product-type.library.dynamic **被改为** com.apple.product-type.library.static **。也许这是一个不同的xcode版本,我建议创建一个新的静态lib项目并从那里复制productType – pqnet 2011-08-25 09:18:08

+0

对于Xcode 9:静态库是'com.apple.product-type.library.static',动态库是'com.apple .product-type.library.dynamic',框架是'com.apple.product-type.framework',通用捆绑包是'com.apple.product-type.bundle',单元测试捆绑包是'com.apple.product- type.bundle.unit-test',应用程序是'com.apple.product-type.application',命令行工具是'com.apple.product-type.tool'。还有更多,但这些是迄今为止最常见的 – ThatsJustCheesy 2018-02-18 23:18:07