2010-07-29 57 views
1

我在尝试链接iPhone应用程序以使用我正在使用的某个静态库时遇到问题。链接问题 - iPhone应用程序

该应用程序可以正常使用iPhone OS 3.0,但是当我尝试升级到iOS 4.0时,我遇到了一些问题。

我试图使用的库是一个通用脂肪,其中包含arm和i386的版本。现在,当我尝试使用这个胖库时,出现“未找到符号”错误。它工作正常的设备(手臂),但同时尝试编译模拟器(i386)我有问题。

它给我的错误是:

"_OBJC_CLASS_$_ClassName", referenced from: file.o 
Symbol(s) not found." 

展望脂肪库(使用纳米)我看下的ARMv6和ARMv7列为型“S”符号,我想这是它的工作的原因精细!然而,我无法在i386下找到相同的,我不知道为什么!

我看到一个符号“.objc_class_name_ClassName”列为类型“A”,但是被称为缺失的符号没有在那里列出。

任何想法?

+1

我找到了答案在这里:http://stackoverflow.com/questions/3140469/linker-error-only-simulator-with-own-library-after-update -to-iphone-sdk-4-0/3368489#3368489 – Dhaval 2010-07-30 03:12:03

回答

0

也许你需要建立针对iOS的4.0

+1

谢谢Lou!我用iOS4.0 SDK重建了所有库。 – Dhaval 2010-07-29 15:54:59

0

很多图书馆在移动到iOS 4和SDK 3.2.3被打碎一个版本的lib。如果您可以使用SDK 4构建库并将其重新加载到胖库中,那么您可能会回到正轨。

确保将您的部署目标设置为3.x或您计划发布应用程序的任何内容。