相关疑难解决方法(0)

静态库中的Objective-C类别

你能指导我如何正确地将静态库链接到iPhone项目.我使用添加到app项目的静态库项目作为直接依赖(目标 - >一般 - >直接依赖)并且所有工作正常,但是类别.静态库中定义的类别在app中不起作用.

所以我的问题是如何将静态库与一些类别添加到其他项目中?

一般来说,在其他项目的应用程序项目代码中使用的最佳做法是什么?

iphone objective-c static-libraries categories

148
推荐指数
5
解决办法
5万
查看次数

静态库依赖项的最佳实践

我正在编写一个静态库,它依赖于其他库(在我的例子中是SBJSON和ASIHTTPRequest).

如果我编译这些外部依赖关系到我的库,然后我并不能拒绝那些在编译这些类其他库.由于我的目标是建立一套对我公司静态库,可以导入到任何新的应用程序,这些编译依赖于库显然不是一种选择.

有没有人有任何建议/最佳实践来创建具有共同依赖关系的共享静态库套件?

objective-c ios

31
推荐指数
2
解决办法
9963
查看次数

Xcode中的2个第三方库出现重复符号问题

我正在尝试编译一个依赖于2个第三方静态库的项目.

问题是,两个第三方都在其静态库分发中包含了相同的"实用程序"类,这意味着当两者都添加到我的项目中时,我会收到数十个重复的符号错误.

有没有办法让我强迫项目以某种方式编译和/或忽略其中一个重复的符号?

我发现了一个类似的问题,这里有两个静态库,在Xcode中有重复的符号,但我很想知道是否有一个编译器标志可能会做的伎俩(请注意,在这种情况下,我假设两个符号代表相同的对象).

谢谢罗格

compiler-construction xcode objective-c static-libraries ios

6
推荐指数
1
解决办法
5017
查看次数

为armv6和armv7构建iPhone静态库,包括另一个静态库

我有一个Xcode项目,它有一个"主"静态库目标,包括/链接到其他Xcode项目的一堆其他静态库.

构建"优化(armv6 armv7)"的主库目标时,在CreateUniversalBinary步骤中的最后阶段会发生错误.对于主库包含的库的每个.o文件,将报告以下错误(例如,FBConnectGlobal.o文件):

warning for architecture: armv6 same member name (FBConnectGlobal.o) 
in output file used for input files: /Developer_Beta/Builds/MTToolbox/MTToolbox.build/Debug-iphoneos/MTToolbox.build/Objects-normal/armv6/libMTToolbox.a(FBConnectGlobal.o) 
and: /Developer_Beta/Builds/MTToolbox/MTToolbox.build/Debug-iphoneos/MTToolbox.build/Objects-normal/armv7/libMTToolbox.a(FBConnectGlobal.o) 
due to use of basename, truncation and blank padding
Run Code Online (Sandbox Code Playgroud)

最后,Xcode告诉构建成功了.但是,在应用程序项目中使用最终静态库时,它不会构建,因为它在构建的一部分(armv6)中找到重复的符号,并且在构建的另一部分(armv7)中错过了符号.

任何想法如何解决这一问题?

中号

iphone xcode static-libraries fat-binaries universal-binary

5
推荐指数
1
解决办法
6764
查看次数

如何在其中包含与 OBJECT 文件具有相同名称的静态库?

我正在开发一个 iPad 应用程序,其中包含 2 个第三方静态库。这两个库中目标文件的名称相同。在构建我得到的应用程序时

“Apple Mach -O (id) 错误”

因为这两个库中目标文件的名称相同。如何解决这个问题呢?

错误看起来像:

ld: duplicate symbol _T_strcpy in /Users/indiait-supportservices/Desktop/untitled folder/Universal/lib/simulator/libSecurIDLib.a(mem.o) and /Users/indiait-supportservices/Library/Developer/Xcode/DerivedData/ReceiverForiOS-aqpprpcivvjjadbsutqqmtjsoczk/Build/Intermediates/ReceiverForiOS.build/Debug-iphonesimulator/myApp iPad.build/Objects-normal/i386/pdcrypte2.o for architecture i386

collect2: ld returned 1 exit status

Command /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/llvm-g++-4.2 

failed with exit code 1.
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ipad xcode4

5
推荐指数
1
解决办法
878
查看次数