我在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