gpt4 book ai didi

objective-c - Objective C 库和搜索路径

转载 作者:行者123 更新时间:2023-12-03 17:03:29 25 4
gpt4 key购买 nike

我在 Objective C(针对 OSX)中创建了一个静态库来执行一些计算。然后我编译了它并将其包含在另一个项目中。后来我无法在我的代码中使用它。

1>当我写的时候

导入“Auth.h”

它给了我一个找不到文件错误。为什么会这样?

2> 然后我必须将搜索路径设置为库源,并且它被正确编译和执行。这是否意味着我无法在其他项目中重用已编译的库而不随其分发源代码?

3> 我认为如果指定了搜索路径,则不需要编译的库。所以我删除了该库。但这没有用。这意味着源+库都是必需的。

到底发生了什么。我只是想与该项目的其他团队一起分发 libAuth.a 而不给出源代码。我怎样才能做到这一点。

最佳答案

您只需要提供库文件(.a)和头文件即可;源文件可以保持私有(private)且不分发。

请务必为可能使用该库的所有体系结构(OSX 上的 x86_64i386)编译该库,使用 lipo创建一个胖二进制 .a 文件。

例如:

xcrun --sdk macosx10.8 clang -arch x86_64 -o file1.o file1.m
xcrun --sdk macosx10.8 clang -arch x86_64 -o file2.o file2.m
xcrun --sdk macosx10.8 libtool -static -arch_only x86_64 -o libmystuff_x86_64.a file1.o file2.o

xcrun --sdk macosx10.8 clang -arch i386 -o file1.o file1.m
xcrun --sdk macosx10.8 clang -arch i386 -o file2.o file2.m
xcrun --sdk macosx10.8 libtool -static -arch_only i386 -o libmystuff_i386.a file1.o file2.o

xcrun --sdk macosx10.8 lipo -arch x86_64 libmystuff_x86_64.a -arch i386 libmystuff_i386.a -create -output libmystuff.a

关于objective-c - Objective C 库和搜索路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18465202/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com