1

libarchive我用以下命令编译

  • cmake -G "Xcode" ~/libarchive-download-dir/
  • 制作
  • 进行安装

libarchive.14.dylib并添加achieve.h到我的项目中。但是我得到了一个编译器错误。知道为什么吗?

体系结构 i386 的未定义符号:
“_archive_read_support_filter_all”,引用自:-[AppDelegate application:didFinishLaunchingWithOptions:] in AppDelegate.o ld:未找到体系结构 i386 的符号 clang:错误:链接器命令失败,退出代码为 1(使用 - v 查看调用)

我尝试了此代码,例如示例建议:

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返回值

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

4

1 回答 1

0

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

#import "archive.h"

至于库,您是否将其添加到链接库列表中?在您的目标设置中,进入“Build Phases”并检查它是否已添加到“Link Binary With Libraries”列表中。

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

于 2015-10-27T12:37:31.267 回答