繁体   English   中英

在OS X上创建和使用静态库

[英]Create and use static library on OS X

好吧,我正在尝试创建一个Cocoa库(静态)并使用,但我不断收到错误。

我创建了一个超级基本静态库( TSXLib ),其中只有一个附加类。

#import <Foundation/Foundation.h>

@interface ClassOne : NSObject

- (void)doIt;

@end

#import "ClassOne.h"

@implementation ClassOne

- (void)doIt
{
    NSLog(@"Oops... I did it again!");
}

@end

然后,我将动态库安装名称 (在构建设置中)设置为:

@executable_path/../Frameworks/libTSXLib.a

现在在我的测试项目中:

  • libTSXLib.a文件(并将其复制到目标)
  • 添加了构建阶段(复制文件),我将libTSXLib.a复制到Frameworks
  • 然后我去AppDelegate.m并尝试导入我的库的类
  • #import <ClassOne.h> ,编译器抛出一个无法找到类的错误

有任何想法吗?


注意: 我实际上对库,框架等很困惑(这就是为什么我倾向于尽可能地避免它们)。 我所要做的就是打包一些类/函数,以便我可以轻松地在不同的项目中重用它们。 无论是框架还是图书馆,我都不在乎。 我需要的是:打包并重新使用我的代码。 (阻止任何人看到/使用内容时捆绑的能力将是一个加号)

好的,所以,经过一段时间后回来,这就是我做的工作:

第1步:创建库

  • 使用内置的Cocoa Library模板创建一个新项目
  • 库类型设置为静态
  • 添加您的类/函数/随便
  • Build Phases下 ,请注意哪些标题将变为Public

第2步:在测试项目中使用库

  • 将最终的.a库文件拖放到项目中(如果将其复制到目标目录则无关紧要)
  • 链接到图书馆
  • 用户标题搜索路径更新为初始Library .a文件源(使用递归(例如/the/path/to/your/library/folder/**
  • 设置始终将用户路径搜索YES
  • Build Settings下将-ObjC其他链接器标志

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM