【问题标题】:static Library in Xcode 4Xcode 4 中的静态库
【发布时间】:2013-01-05 16:09:57
【问题描述】:

我在 Xcode 4.X 中对这个静态库的东西太多了

以下是我通常执行的步骤..

1)为了制作静态库,我打开Xcode,新建,静态库,然后在项目中添加一些类..然后构建阶段->复制标题->在此处一一添加所有标题,然后我建立了项目 在 ios 模拟器上运行时 -> 未创建静态库 ..(红色) 在 ios 设备上运行时 - > 创建静态库..

2) 用于使用库.. 我创建了一个新项目,然后我“将文件添加到项目”并“如果需要则复制”以下 2 个文件.. .a 文件(即静态库) 包含库文件头的文件夹

现在,当我尝试在我的项目中导入头文件时,没有出现“建议”……但我仍然在写,它没有给出错误“找不到头文件”……

但是当我运行该项目时,它会给出如下错误:

ld:警告:忽略文件 /Users/Subodh/Library/Developer/Xcode/DerivedData/LibraryImporting_test-cbchzzjdcehzvfgwmzbvifrnrwgk/Build/Products/Debug-iphoneos/libLibraryImporting_test.a, 文件是为存档而构建的,它不是被链接的架构 (i386): /Users/Subodh/Library/Developer/Xcode/DerivedData/LibraryImporting_test-cbchzzjdcehzvfgwmzbvifrnrwgk/Build/Products/Debug-iphoneos/libLibraryImporting_test.a

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_LibraryImporting_test", referenced from:
      objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

请指导我....指出是否在某些步骤出错....帮助请 如果有人提到我在制作库并在项目中使用它时所做的所有步骤会更好......这将是一个很大的帮助

【问题讨论】:

    标签: xcode static-libraries


    【解决方案1】:

    问题的关键是这部分错误信息:

    文件是为存档而不是被链接的架构而构建的 (i386)

    从外观上看,您已经导入了为 iPhone 设备 (ARM) 构建的库,并且您正尝试在 i386 的 iPhone 模拟器中使用它。

    我建议使用 Xcode 工作区,其中静态库项目是其中一个项目,而 iPhone 应用程序是另一个项目。这样,Xcode 将根据需要为 Debug/Release 和 Device/Simulator 构建库。

    【讨论】:

    • 好的,先生...但是当我尝试为 iphone 模拟器构建库时...为什么它没有构建...即使没有错误?另外,按照你建议的方法,我可以通过导入在不同项目中使用工作区中制作的静态库吗??????
    • 在 Xcode 工作区中,您同时包含静态库项目和应用程序项目,Xcode 将使用正确的拱门和调试/构建库(一旦您告诉它应用程序依赖它)发布设置。您目前正在做的是用一个特定的拱门捕捉库的快照
    • 如果我想为不同的应用程序使用相同的库,那么...??就像我们在互联网上免费找到的图书馆一样......只需导入它们......工作就完成了......
    • 你可以这样做,但据我了解,只有 Xcode 工作区允许你根据需要重新编译库。
    猜你喜欢
    • 2011-11-18
    • 2011-12-07
    • 2012-03-19
    • 2011-07-15
    • 2011-09-11
    • 2011-08-08
    • 1970-01-01
    • 2011-12-06
    相关资源
    最近更新 更多