我使用以下命令编译了libarchive
并将libarchive.14.dylib和achieve.h添加到我的项目中。但我有个编译器错误。知道为什么吗?
架构i386的未定义符号: "_archive_read_support_filter_all",引用于:-AppDelegate应用程序:didFinishLaunchingWithOptions: in AppDelegate.o :符号(S)未找到用于体系结构的i386 clang: error: linker命令在退出代码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返回值以下
/Users/extjanos/Desktop/temp2/libarchive/libarchive.a输入文件/Users/extjanos/Desktop/temp2/libarchive/libarchive.a不是非fat文件: /Users/extjanos/Desktop/temp2/libarchive/libarchive.a是体系结构: x86_64
发布于 2015-10-27 12:37:31
您需要在文件顶部导入标题:
#import "archive.h"至于库,您是否将其添加到链接库列表中?在您的目标设置必须“构建阶段”,并检查它是否已添加到“链接二进制与库”列表。
另外,您必须使用静态库,而不是共享库。使用libarchive.a而不是libarchive.dylib
https://stackoverflow.com/questions/33367979
复制相似问题