2015-08-26 22 views
8

zu handhaben, wenn ich versuche, mein Projekt mit 64-Bit-mingw (x86_64-5.1.0-Posix-SEH-rt_v4-rev0) I Nachrichten bekam zu kompilieren:Mingw x64-Windows: Plugin benötigt lto Objekt

BFD: my/project/dir/filename.cpp.obj: plugin needed to handle lto object 

für jede Quelldatei. Wenn ich mit 32-Bit-Mingw kompiliere (i686-5.1.0-posix-dwarf-rt_v4-rev0), ist alles in Ordnung.

Meine Flags sind:

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" 

Ich versuchte -fuse-Linker-Plugin und -fno-use-Linker-Plugin, aber es half nicht hinzuzufügen. Mein Betriebssystem ist 64-Bit-Windows 10. Ich verwende CLion und CMake, wenn es darauf ankommt, obwohl es nicht wichtig ist. Wie kann ich es beheben?

Antwort

8

Setzen Sie die LTO-Plugin in das BFD-Plugin-Verzeichnis:

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 
+0

Wissen Sie, warum diese nicht während der Installation durchgeführt wird? – EvgeniyZh

+0

Ich denke, das liegt daran, dass es mehrere Plugins (gcc/llvm) gibt, von denen aber nur eins automatisch geladen werden kann. – ssbssa