您的位置:首页 > 大数据 > 人工智能

错误分析—linker command failed with exit code 1

2015-11-03 14:28 330 查看


早期我在项目中导入第三方库时,经常遇到这种问题。慢慢的我发现并总结了一些规律,这类问题如果出现了,我们可以从以下几个方面排查。

1、由于疏忽,错导入 .m 文件。

假如项目中有两个文件:

xxxA.h

xxxA.m

xxxB.h

xxxB.m

由于某些需要,在 xxxB.m 文件中导入 xxxA.h 。由于疏忽错导入了 xxxA.m ,这时就会出现这样的bug了。

2、文件的重复导入也会使系统报错:linker command failed with exit code 1

在 TARGETS --> Build Settings --> Architectures 中找到重复项并删除,也可以解决这种问题。

3、在添加第三方静态库的所有文件中都出现了这种错误,这种情况可能是这个静态库路径混乱导致的链接错误。

在 Build Settings --> Search Path --> Library Search Paths 添加静态库的相应路径。

4、如果添加的第三方库不是静态库也出现了这种问题,你可以先找到在错误中出现的那个类的 .m 文件,查看他的Target Membership 。

如果没有勾选,点击勾选,然后编译看看。

如果这种问题还是存在,然后找到 Build Settings --> Linking --> Other Linker Flags ,把它的属性改为 -all_load 或者 -ObjC(这个需要视情况而定)。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: