Когда я пытаюсь скомпилировать свой проект с 64-битным mingw (x86_64-5.1.0-posix-seh-rt_v4-rev0), я получаю сообщения:
BFD: my/project/dir/filename.cpp.obj: plugin needed to handle lto object
для каждого исходного файла. Тем не менее, когда я компилирую с 32-битным mingw (i686-5.1.0-posix-dwarf-rt_v4-rev0), все будет в порядке.
Мои флаги:
CXX_FLAGS "-fno-exceptions -fno-rtti -std=c++14 -O3 -fstrict-aliasing -flto -fomit-frame-pointer -march=native -ffast-math -funroll-loops"LINKER_FLAGS "-O1 -s"
Я пытался добавить -fuse-linker-plugin и -fno-use-linker-plugin, но это не помогло.
Моя ОС — 64-битная Windows 10. Я использую CLion и CMake, если это имеет значение, хотя это не должно.
Как я могу это исправить?
Поместите плагин LTO в каталог bfd-plugins:
mkdir mingw64\lib\bfd-plugins
cp mingw64\libexec\gcc\x86_64-w64-mingw32\5.1.0\liblto_plugin-0.dll mingw64\lib\bfd-plugins\liblto_plugin-0.dll