我在Windows上使用MinGW构建了Clang,并使用目标三重x86_64-w64-windows-gnu。可执行文件clang.exe和clang ++。exe可以按照预期工作,如果我在发布模式下编译它们(它们编译程序时不会出错),但是在调试模式下构建时,我无法运行它们并获得this error - “此应用程序无法运行PC”。来自同一版本的其他可执行文件(如clang-check.exe)不会显示此错误并正确运行。在Windows 10上使用MinGW构建的Clang的调试版本无法运行
看起来好像这可能是文件大小的问题,因为clang.exe和clang ++。exe的大小都大于2GB,而其他可执行文件的大小却比较小,但我的印象是文件大小限制在64位Windows是4GB。
是否有其他人遇到过类似的问题?如果文件大小是问题,是否有可能让LLVM将调试符号放在单独的文件中以减小可执行文件的大小?
编辑:我试图通过在构建LLVM时将调试符号转储到使用-gsplit-dwarf标志的单独文件来减少可执行文件大小,但它没有任何影响。
谢谢,这是很好的知道,限制是由于文件的大小,而不是别的。 您是否知道LLD链接器是否支持将调试符号拆分为单独的文件?不幸的是我最初使用MinGW来构建Clang,因为我需要使用开放源代码头文件,但是我应该能够使用-DCMAKE_LINKER标志使用LLD通过调试符号构建Clang时进行链接。 – ed95