【问题标题】:GCC: cc1plus.exe: sorry, unimplemented: 64-bit mode not compiled inGCC:cc1plus.exe:对不起,未实现:64位模式未编译
【发布时间】:2021-12-13 17:00:11
【问题描述】:

我正在尝试在 VS 2019 GUI 和 GCC/G++ 编译器中构建 C++ 项目。

我的 GCC/G++ 配置文件如下:

Microsoft Windows [Version 10.0.19043.1288]
(c) Microsoft Corporation. All rights reserved.

C:\Users\pc>gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=C:/Program\ Files\ (x86)/mingw-w64/i686-8.1.0-posix-dwarf-rt_v6-rev0/mingw32/bin/../libexec/gcc/i686-w64-mingw32/8.1.0/lto-wrapper.exe
Target: i686-w64-mingw32
Configured with: ../../../src/gcc-8.1.0/configure --host=i686-w64-mingw32 --build=i686-w64-mingw32 --target=i686-w64-mingw32 --prefix=/mingw32 --with-sysroot=/c/mingw810/i686-810-posix-dwarf-rt_v6-rev0/mingw32 --enable-shared --enable-static --disable-multilib --enable-languages=c,c++,fortran,lto --enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp --enable-libatomic --enable-lto --enable-graphite --enable-checking=release --enable-fully-dynamic-string --enable-version-specific-runtime-libs --disable-sjlj-exceptions --with-dwarf2 --disable-libstdcxx-pch --disable-libstdcxx-debug --enable-bootstrap --disable-rpath --disable-win32-registry --disable-nls --disable-werror --disable-symvers --with-gnu-as --with-gnu-ld --with-arch=i686 --with-tune=generic --with-libiconv --with-system-zlib --with-gmp=/c/mingw810/prerequisites/i686-w64-mingw32-static --with-mpfr=/c/mingw810/prerequisites/i686-w64-mingw32-static --with-mpc=/c/mingw810/prerequisites/i686-w64-mingw32-static --with-isl=/c/mingw810/prerequisites/i686-w64-mingw32-static --with-pkgversion='i686-posix-dwarf-rev0, Built by MinGW-W64 project' --with-bugurl=https://sourceforge.net/projects/mingw-w64 CFLAGS='-O2 -pipe -fno-ident -I/c/mingw810/i686-810-posix-dwarf-rt_v6-rev0/mingw32/opt/include -I/c/mingw810/prerequisites/i686-zlib-static/include -I/c/mingw810/prerequisites/i686-w64-mingw32-static/include' CXXFLAGS='-O2 -pipe -fno-ident -I/c/mingw810/i686-810-posix-dwarf-rt_v6-rev0/mingw32/opt/include -I/c/mingw810/prerequisites/i686-zlib-static/include -I/c/mingw810/prerequisites/i686-w64-mingw32-static/include' CPPFLAGS=' -I/c/mingw810/i686-810-posix-dwarf-rt_v6-rev0/mingw32/opt/include -I/c/mingw810/prerequisites/i686-zlib-static/include -I/c/mingw810/prerequisites/i686-w64-mingw32-static/include' LDFLAGS='-pipe -fno-ident -L/c/mingw810/i686-810-posix-dwarf-rt_v6-rev0/mingw32/opt/lib -L/c/mingw810/prerequisites/i686-zlib-static/lib -L/c/mingw810/prerequisites/i686-w64-mingw32-static/lib -Wl,--large-address-aware'
Thread model: posix
gcc version 8.1.0 (i686-posix-dwarf-rev0, Built by MinGW-W64 project)

C:\Users\pc>

我收到以下错误:

>------ Rebuild All started: Project: mySolutionFolder, Configuration: Mingw64-Release ------
  [1/1] Cleaning all built files...
  Cleaning... 0 files.
  [1/795] C:\PROGRA~2\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin\g++.exe  -IC:/ProgramData/Miniconda3/Library/include -I"C:/Program Files (x86)/GnuWin32/bin" -I../../../src -Wall -O3 -pthread -std=c++0x  -m64     -DSQLITE3 -O3 -DNDEBUG -O2 -g -DNDEBUG -std=gnu++11 -MD -MT src/CMakeFiles/hist.dir/apps/mySolutionFolder/hist.cc.obj -MF src\CMakeFiles\hist.dir\apps\mySolutionFolder\hist.cc.obj.d -o src/CMakeFiles/hist.dir/apps/mySolutionFolder/hist.cc.obj -c ../../../src/apps/mySolutionFolder/hist.cc
  FAILED: src/CMakeFiles/hist.dir/apps/mySolutionFolder/hist.cc.obj 
  C:\PROGRA~2\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin\g++.exe  -IC:/ProgramData/Miniconda3/Library/include -I"C:/Program Files (x86)/GnuWin32/bin" -I../../../src -Wall -O3 -pthread -std=c++0x  -m64     -DSQLITE3 -O3 -DNDEBUG -O2 -g -DNDEBUG -std=gnu++11 -MD -MT src/CMakeFiles/hist.dir/apps/mySolutionFolder/hist.cc.obj -MF src\CMakeFiles\hist.dir\apps\mySolutionFolder\hist.cc.obj.d -o src/CMakeFiles/hist.dir/apps/mySolutionFolder/hist.cc.obj -c ../../../src/apps/mySolutionFolder/hist.cc
  cc1plus.exe: sorry, unimplemented: 64-bit mode not compiled in
  [2/795] C:\PROGRA~2\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin\g++.exe  -IC:/ProgramData/Miniconda3/Library/include -I"C:/Program Files (x86)/GnuWin32/bin" -I../../../src -Wall -O3 -pthread -std=c++0x  -m64     -DSQLITE3 -O3 -DNDEBUG -O2 -g -DNDEBUG -std=gnu++11 -MD -MT src/CMakeFiles/mySolutionFolder.dir/core/alignment/Target.cc.obj -MF src\CMakeFiles\mySolutionFolder.dir\core\alignment\Target.cc.obj.d -o src/CMakeFiles/mySolutionFolder.dir/core/alignment/Target.cc.obj -c ../../../src/core/alignment/Target.cc
  FAILED: src/CMakeFiles/mySolutionFolder.dir/core/alignment/Target.cc.obj 
  C:\PROGRA~2\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin\g++.exe  -IC:/ProgramData/Miniconda3/Library/include -I"C:/Program Files (x86)/GnuWin32/bin" -I../../../src -Wall -O3 -pthread -std=c++0x  -m64     -DSQLITE3 -O3 -DNDEBUG -O2 -g -DNDEBUG -std=gnu++11 -MD -MT src/CMakeFiles/mySolutionFolder.dir/core/alignment/Target.cc.obj -MF src\CMakeFiles\mySolutionFolder.dir\core\alignment\Target.cc.obj.d -o src/CMakeFiles/mySolutionFolder.dir/core/alignment/Target.cc.obj -c ../../../src/core/alignment/Target.cc
  cc1plus.exe: sorry, unimplemented: 64-bit mode not compiled in
  [3/795] C:\PROGRA~2\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin\g++.exe  -IC:/ProgramData/Miniconda3/Library/include -I"C:/Program Files (x86)/GnuWin32/bin" -I../../../src -Wall -O3 -pthread -std=c++0x  -m64     -DSQLITE3 -O3 -DNDEBUG -O2 -g -DNDEBUG -std=gnu++11 -MD -MT src/CMakeFiles/seqc.dir/apps/mySolutionFolder/seqc.cc.obj -MF src\CMakeFiles\seqc.dir\apps\mySolutionFolder\seqc.cc.obj.d -o src/CMakeFiles/seqc.dir/apps/mySolutionFolder/seqc.cc.obj -c ../../../src/apps/mySolutionFolder/seqc.cc
  FAILED: src/CMakeFiles/seqc.dir/apps/mySolutionFolder/seqc.cc.obj 
  C:\PROGRA~2\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin\g++.exe  -IC:/ProgramData/Miniconda3/Library/include -I"C:/Program Files (x86)/GnuWin32/bin" -I../../../src -Wall -O3 -pthread -std=c++0x  -m64     -DSQLITE3 -O3 -DNDEBUG -O2 -g -DNDEBUG -std=gnu++11 -MD -MT src/CMakeFiles/seqc.dir/apps/mySolutionFolder/seqc.cc.obj -MF src\CMakeFiles\seqc.dir\apps\mySolutionFolder\seqc.cc.obj.d -o src/CMakeFiles/seqc.dir/apps/mySolutionFolder/seqc.cc.obj -c ../../../src/apps/mySolutionFolder/seqc.cc
  cc1plus.exe: sorry, unimplemented: 64-bit mode not compiled in
  [4/795] C:\PROGRA~2\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin\g++.exe  -IC:/ProgramData/Miniconda3/Library/include -I"C:/Program Files (x86)/GnuWin32/bin" -I../../../src -Wall -O3 -pthread -std=c++0x  -m64     -DSQLITE3 -O3 -DNDEBUG -O2 -g -DNDEBUG -std=gnu++11 -MD -MT src/CMakeFiles/mySolutionFolder.dir/core/alignment/TMAlign.cc.obj -MF src\CMakeFiles\mySolutionFolder.dir\core\alignment\TMAlign.cc.obj.d -o src/CMakeFiles/mySolutionFolder.dir/core/alignment/TMAlign.cc.obj -c ../../../src/core/alignment/TMAlign.cc
  FAILED: src/CMakeFiles/mySolutionFolder.dir/core/alignment/TMAlign.cc.obj 
  C:\PROGRA~2\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin\g++.exe  -IC:/ProgramData/Miniconda3/Library/include -I"C:/Program Files (x86)/GnuWin32/bin" -I../../../src -Wall -O3 -pthread -std=c++0x  -m64     -DSQLITE3 -O3 -DNDEBUG -O2 -g -DNDEBUG -std=gnu++11 -MD -MT src/CMakeFiles/mySolutionFolder.dir/core/alignment/TMAlign.cc.obj -MF src\CMakeFiles\mySolutionFolder.dir\core\alignment\TMAlign.cc.obj.d -o src/CMakeFiles/mySolutionFolder.dir/core/alignment/TMAlign.cc.obj -c ../../../src/core/alignment/TMAlign.cc
  cc1plus.exe: sorry, unimplemented: 64-bit mode not compiled in
  [5/795] C:\PROGRA~2\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin\g++.exe  -IC:/ProgramData/Miniconda3/Library/include -I"C:/Program Files (x86)/GnuWin32/bin" -I../../../src -Wall -O3 -pthread -std=c++0x  -m64     -DSQLITE3 -O3 -DNDEBUG -O2 -g -DNDEBUG -std=gnu++11 -MD -MT src/CMakeFiles/mySolutionFolder.dir/core/mySolutionFolderEnvironment.cc.obj -MF src\CMakeFiles\mySolutionFolder.dir\core\mySolutionFolderEnvironment.cc.obj.d -o src/CMakeFiles/mySolutionFolder.dir/core/mySolutionFolderEnvironment.cc.obj -c ../../../src/core/mySolutionFolderEnvironment.cc
  FAILED: src/CMakeFiles/mySolutionFolder.dir/core/mySolutionFolderEnvironment.cc.obj 
  C:\PROGRA~2\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin\g++.exe  -IC:/ProgramData/Miniconda3/Library/include -I"C:/Program Files (x86)/GnuWin32/bin" -I../../../src -Wall -O3 -pthread -std=c++0x  -m64     -DSQLITE3 -O3 -DNDEBUG -O2 -g -DNDEBUG -std=gnu++11 -MD -MT src/CMakeFiles/mySolutionFolder.dir/core/mySolutionFolderEnvironment.cc.obj -MF src\CMakeFiles\mySolutionFolder.dir\core\mySolutionFolderEnvironment.cc.obj.d -o src/CMakeFiles/mySolutionFolder.dir/core/mySolutionFolderEnvironment.cc.obj -c ../../../src/core/mySolutionFolderEnvironment.cc
  cc1plus.exe: sorry, unimplemented: 64-bit mode not compiled in
  [6/795] C:\PROGRA~2\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin\g++.exe  -IC:/ProgramData/Miniconda3/Library/include -I"C:/Program Files (x86)/GnuWin32/bin" -I../../../src -Wall -O3 -pthread -std=c++0x  -m64     -DSQLITE3 -O3 -DNDEBUG -O2 -g -DNDEBUG -std=gnu++11 -MD -MT src/CMakeFiles/mySolutionFolder.dir/core/mySolutionFolderVersion.cc.obj -MF src\CMakeFiles\mySolutionFolder.dir\core\mySolutionFolderVersion.cc.obj.d -o src/CMakeFiles/mySolutionFolder.dir/core/mySolutionFolderVersion.cc.obj -c ../../../src/core/mySolutionFolderVersion.cc
  FAILED: src/CMakeFiles/mySolutionFolder.dir/core/mySolutionFolderVersion.cc.obj 
  C:\PROGRA~2\mingw-w64\i686-8.1.0-posix-dwarf-rt_v6-rev0\mingw32\bin\g++.exe  -IC:/ProgramData/Miniconda3/Library/include -I"C:/Program Files (x86)/GnuWin32/bin" -I../../../src -Wall -O3 -pthread -std=c++0x  -m64     -DSQLITE3 -O3 -DNDEBUG -O2 -g -DNDEBUG -std=gnu++11 -MD -MT src/CMakeFiles/mySolutionFolder.dir/core/mySolutionFolderVersion.cc.obj -MF src\CMakeFiles\mySolutionFolder.dir\core\mySolutionFolderVersion.cc.obj.d -o src/CMakeFiles/mySolutionFolder.dir/core/mySolutionFolderVersion.cc.obj -c ../../../src/core/mySolutionFolderVersion.cc
  cc1plus.exe: sorry, unimplemented: 64-bit mode not compiled in
  ninja: build stopped: subcommand failed.

Rebuild All failed.

我该如何解决这个问题?

【问题讨论】:

    标签: c++ visual-studio gcc g++ mingw


    【解决方案1】:

    您应该决定是编译 32 位还是 64 位程序。

    对于 32 位程序,从命令行中删除 -m64 以及任何其他看起来不合适的参数。

    对于 64 位程序,您需要找到针对 x86_64 的 GCC。非常常用的目标三元组是x86_64-w64-mingw32。您当前的 GCC 版本适用于 i686,即 32 位。

    【讨论】:

    • 我不是从命令行编译的。我正在使用 VS 2019 GUI。
    • 必须有一个设置窗口,您可以在其中决定使用什么编译器或传递给它的选项。
    • @user366312 您正在使用 VS 2019 GUI,但您正在使用 MinGW 工具链处理 CMake 项目。检查您的 CMake 文件/设置以查看您的设置。
    猜你喜欢
    • 2017-02-13
    • 1970-01-01
    • 2021-08-19
    • 2021-07-15
    • 2012-02-10
    • 2017-09-03
    • 2016-11-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多