13

当我尝试使用 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,尽管它不应该。我该如何解决?

4

1 回答 1

12

将 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
于 2015-09-08T15:32:48.310 回答