编译时出现错误 -- clang: error: linker command failed with exit code 1 (use -v to see invocation)

在Mac上用clion作为编译器学c++出现这个问题。

出现这个错误的原因有多种,常见的是因为某些文件的缺失或者是文件的重复导致的。
这类错误查看的关键在于其上一行的文字。
对于文件缺少而导致错误的情况:
在这里插入图片描述
例如上图中的示例,其上一行文字为 ld:library not found for -lrxl,可以看出是缺失了某一文件而导致的错误,这行文字中的最后“ -lrxl ”:-l 代表着其前缀是“lib”,连着后面的 rxl,其名称为 librxl。即缺失了库 librxl。该错误多发生在从SVN 上拉取下代码的情况,是在代码上传的时候,静态库没有被上传到SVN 导致的。
iOS-SVN 无法上传静态库(.a)解决方案参考连接

对于文件重复而导致错误的情况:ld:4 duplicate symbols for XXXX,其中 duplicate 中文意思为“重复”在这里插入图片描述
这行文字的意思在x86_64平台上编译的时候有4个重复的元素
实际上项目在导入一个其他的文件的时候,出现了错误,误将同样的一个文件导入到了一个错误的目录中,又在想导入的地方重新导入了一遍,导致编译器在编译的时候不知道该用哪一个,因为他们的内容一样,路径却不同。所以编译器就报上面的错误了。既然找到了问题所在,删除错误路径下的再重新运行就OK啦。参考链接

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值