iOS中的libarchive引发编译器错误Xcode

时间:2015-10-27 12:25:38

标签: ios xcode libarchive

我使用以下命令编译libarchive

  • cmake -G" Xcode" 〜/ libarchive下载-DIR /
  • 使
  • make install

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

  

架构i386的未定义符号:
  " _archive_read_support_filter_all",引自:          - AppDelegate.o中的[AppDelegate应用程序:didFinishLaunchingWithOptions:] ld:找不到架构i386 clang的符号:   错误:链接器命令失败,退出代码为1(使用-v查看   调用)

我尝试了像example这样的代码:

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

我担心代码行旁边会发出警告。

enter image description here

低于lipo返回值

  

lipo -info /Users/extjanos/Desktop/temp2/libarchive/libarchive.a   输入文件/Users/extjanos/Desktop/temp2/libarchive/libarchive.a是   不是胖文件非胖文件:   /Users/extjanos/Desktop/temp2/libarchive/libarchive.a是架构:   x86_64的

1 个答案:

答案 0 :(得分:0)

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

#import "archive.h"

至于图书馆你是否已将其添加到链接库列表中?在你的目标设置中得到“Build Phases”并检查它是否已被添加到“Link Binary With Libraries”列表中。

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