我在M1 Mac中将xcode更新为新版本,然后使用make编译c++后,会出现以下问题:
0 0x1010c81a0 __assert_rtn + 140
1 0x100f4fa8c mach_o::relocatable::Parser<arm64>::parse(mach_o::relocatable::ParserOptions const&) + 4536
2 0x100f21d38 mach_o::relocatable::Parser<arm64>::parse(unsigned char const*, unsigned long long, char const*, long, ld::File::Ordinal, mach_o::relocatable::ParserOptions const&) + 148
3 0x100f8a4ac ld::tool::InputFiles::makeFile(Options::FileInfo const&, bool) + 1468
4 0x100f8d360 ___ZN2ld4tool10InputFilesC2ER7Options_block_invoke + 56
5 0x1893941f4 _dispatch_client_callout2 + 20
6 0x1893a7954 _dispatch_apply_invoke + 224
7 0x1893941b4 _dispatch_client_callout + 20
8 0x1893a5a04 _dispatch_root_queue_drain + 680
9 0x1893a6104 _dispatch_worker_thread2 + 164
10 0x189554324 _pthread_wqthread + 228
A linker snapshot was created at:
/tmp/smr_dense_SL-2022-09-14-165143.ld-snapshot
ld: Assertion failed: (_file->_atomsArrayCount == computedAtomCount && "more atoms allocated than expected"), function parse, file macho_relocatable_file.cpp, line 2061.
collect2: error: ld returned 1 exit status
make: *** [smr_dense_SL] Error 1
2条答案
按热度按时间yc0p9oo01#
更新:下载14.1 beta 3或更高版本以解决此问题。否则,请阅读下面的内容。
这个问题是XCode 14.0版本的问题,我已经测试并确认了这个问题。
将命令行工具版本降级到13.4,问题将得到解决。
首先从apple开发人员站点下载命令行工具并安装:https://download.developer.apple.com/Developer_Tools/Command_Line_Tools_for_Xcode_13.4/Command_Line_Tools_for_Xcode_13.4.dmg
可以使用以下命令更改版本:
要检查当前选定的xcode命令行工具的版本,请使用以下命令:
确保其为13.4。
GitHub上有很多关于这个问题的讨论:
https://github.com/iains/gcc-12-branch/issues/6https://github.com/Homebrew/discussions/discussions/3659
jhdbpxl92#
还有另一种方法可以解决这个问题
等到Xcode解决这个问题