首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Xcode中使用libarchive提高iOS的编译器错误

在Xcode中使用libarchive提高iOS的编译器错误
EN

Stack Overflow用户
提问于 2015-10-27 12:25:37
回答 1查看 597关注 0票数 1

我使用以下命令编译了libarchive

  • cmake -G "Xcode“~/libarchive-下载-dir/
  • 制作
  • 制造安装

并将libarchive.14.dylibachieve.h添加到我的项目中。但我有个编译器错误。知道为什么吗?

架构i386的未定义符号: "_archive_read_support_filter_all",引用于:-AppDelegate应用程序:didFinishLaunchingWithOptions: in AppDelegate.o :符号(S)未找到用于体系结构的i386 clang: error: linker命令在退出代码1中失败(使用-v查看调用)

我像示例建议的那样尝试了这段代码:

代码语言:javascript
复制
struct archive *a;
struct archive_entry *entry;
int r;

a = archive_read_new();
archive_read_support_filter_all(a);
archive_read_support_format_all(a);
r = archive_read_open_filename(a, "archive.tar.gz", 10240); // Note 1

我也担心代码行旁边的警告。

lipo返回值以下

/Users/extjanos/Desktop/temp2/libarchive/libarchive.a输入文件/Users/extjanos/Desktop/temp2/libarchive/libarchive.a不是非fat文件: /Users/extjanos/Desktop/temp2/libarchive/libarchive.a是体系结构: x86_64

EN

回答 1

Stack Overflow用户

发布于 2015-10-27 12:37:31

您需要在文件顶部导入标题:

代码语言:javascript
复制
#import "archive.h"

至于库,您是否将其添加到链接库列表中?在您的目标设置必须“构建阶段”,并检查它是否已添加到“链接二进制与库”列表。

另外,您必须使用静态库,而不是共享库。使用libarchive.a而不是libarchive.dylib

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33367979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档