mingw-w64 g++ terminates unexpectly during the compilation of wxWidgets
I used cmake to generate MinGW makefiles to compile wxWidgets. An error was occurred during the process of make (with VERBOSE=1):
[ 12%] Building CXX object libs/base/CMakeFiles/base.dir/__/__/__/src/common/appbase.cpp.obj
cd /d C:UsersfrankDocumentsCodeswxWidgetscmakebuildlibsbase && C:PROGRA~1MinGWbinG__~1.EXE -DDLL_EXPORTS -DUNICODE -DWXBUILDING -DWXDLLNAME=wxbase311u_gcc_custom -DWXMAKINGDLL_BASE -DWX_PRECOMP -D_LIB -D_UNICODE -D__WXMSW__ -Dbase_EXPORTS -DwxUSE_BASE=1 -DwxUSE_GUI=0 @CMakeFiles/base.dir/includes_CXX.rsp -Winvalid-pch -include "C:/.../cmakebuild/libs/base/cotire/base_CXX_prefix.hxx" -o CMakeFilesbase.dir______srccommonappbase.cpp.obj -c C:UsersfrankDocumentsCodeswxWidgetssrccommonappbase.cpp
make[2]: *** [libsbaseCMakeFilesbase.dirbuild.make:93: libs/base/CMakeFiles/base.dir/__/__/__/src/common/appbase.cpp.obj] Error 1
make[2]: Leaving directory 'C:/.../cmakebuild'
make[1]: *** [CMakeFilesMakefile2:469: libs/base/CMakeFiles/base.dir/all] Error 2
make[1]: Leaving directory 'C:/.../cmakebuild'
make: *** [Makefile:129: all] Error 2
(I've replaced the wxWidgets source path to ...)
I re-ran the the command:
C:PROGRA~1MinGWbinG__~1.EXE -DDLL_EXPORTS -DUNICODE -DWXBUILDING -DWXDLLNAME=wxbase311u_gcc_custom -DWXMAKINGDLL_BASE -DWX_PRECOMP -D_LIB -D_UNICODE -D__WXMSW__ -Dbase_EXPORTS -DwxUSE_BASE=1 -DwxUSE_GUI=0 @CMakeFiles/base.dir/includes_CXX.rsp -Winvalid-pch -include "C:/.../cmakebuild/libs/base/cotire/base_CXX_prefix.hxx" -o CMakeFilesbase.dir______srccommonappbase.cpp.obj -c C:...srccommonappbase.cpp
But I received no output. I appended -v after the command, and here is the output:
Using built-in specs.
COLLECT_GCC=C:PROGRA~1MinGWbinG__~1.EXE
Target: x86_64-w64-mingw32
Configured with: ../src/configure --enable-languages=c,c++ --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --disable-multilib --prefix=/c/temp/gcc/dest --with-sysroot=/c/temp/gcc/dest --disable-libstdcxx-pch --disable-libstdcxx-verbose --disable-nls --disable-shared --disable-win32-registry --with-tune=haswell --enable-threads=posix --enable-libgomp
Thread model: posix
gcc version 7.3.0 (GCC)
COLLECT_GCC_OPTIONS='-D' 'DLL_EXPORTS' '-D' 'UNICODE' '-D' 'WXBUILDING' '-D' 'WXDLLNAME=wxbase311u_gcc_custom' '-D' 'WXMAKINGDLL_BASE' '-D' 'WX_PRECOMP' '-D' '_LIB' '-D' '_UNICODE' '-D' '__WXMSW__' '-D' 'base_EXPORTS' '-D' 'wxUSE_BASE=1' '-D' 'wxUSE_GUI=0' '-I' 'C:/.../cmakebuild/lib/gcc_dll/mswu' '-I' 'C:/.../include' '-I' 'C:/.../src/zlib' '-I' 'C:/.../src/regex' '-Winvalid-pch' '-include' 'C:/.../cmakebuild/libs/base/cotire/base_CXX_prefix.hxx' '-o' 'CMakeFilesbase.dir______srccommonappbase.cpp.obj' '-c' '-v' '-mtune=haswell' '-march=x86-64'
c:/progra~1/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/7.3.0/cc1plus.exe -quiet -v -I C:/.../cmakebuild/lib/gcc_dll/mswu -I C:/.../include -I C:/.../src/zlib -I C:/.../src/regex -iprefix c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/ -D_REENTRANT -D DLL_EXPORTS -D UNICODE -D WXBUILDING -D WXDLLNAME=wxbase311u_gcc_custom -D WXMAKINGDLL_BASE -D WX_PRECOMP -D _LIB -D _UNICODE -D __WXMSW__ -D base_EXPORTS -D wxUSE_BASE=1 -D wxUSE_GUI=0 -include C:/.../cmakebuild/libs/base/cotire/base_CXX_prefix.hxx C:UsersfrankDocumentsCodeswxWidgetssrccommonappbase.cpp -quiet -dumpbase appbase.cpp -mtune=haswell -march=x86-64 -auxbase-strip CMakeFilesbase.dir______srccommonappbase.cpp.obj -Winvalid-pch -version -o C:UsersfrankAppDataLocalTempccF9vVx8.s
GNU C++14 (GCC) version 7.3.0 (x86_64-w64-mingw32)
compiled by GNU C version 7.3.0, GMP version 6.1.2, MPFR version 3.1.6-p2, MPC version 1.1.0, isl version isl-0.18-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/x86_64-w64-mingw32"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/backward"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/include"
ignoring nonexistent directory "C:/temp/gcc/destC:/temp/gcc/dest/lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/include-fixed"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/include"
ignoring nonexistent directory "C:/temp/gcc/dest/mingw/include"
#include "..." search starts here:
#include <...> search starts here:
C:/.../cmakebuild/lib/gcc_dll/mswu
C:/.../include
C:/.../src/zlib
C:/.../src/regex
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/x86_64-w64-mingw32
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/backward
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/include
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/include-fixed
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/include
End of search list.
GNU C++14 (GCC) version 7.3.0 (x86_64-w64-mingw32)
compiled by GNU C version 7.3.0, GMP version 6.1.2, MPFR version 3.1.6-p2, MPC version 1.1.0, isl version isl-0.18-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 00ba9da796d75deb4f2564304e4a9551
I have no idea what the output above indicates, but if I replace -E instead of -c in the original command, it runs successfully. And if I compile the precompiled source file, it also runs successfully and produces the object file I want.
With this method I can produce the object files and make recognize them, but I can't do this manually for every single object file wxWidgets needs. What problem is this? Is there a way to fix it?
CMake version is 3.13.0-rc3
GNU Make version is 4.2.1
MinGW-W64 G++ version is 7.3.0
c++ cmake g++ wxwidgets gnu-make
|
show 5 more comments
I used cmake to generate MinGW makefiles to compile wxWidgets. An error was occurred during the process of make (with VERBOSE=1):
[ 12%] Building CXX object libs/base/CMakeFiles/base.dir/__/__/__/src/common/appbase.cpp.obj
cd /d C:UsersfrankDocumentsCodeswxWidgetscmakebuildlibsbase && C:PROGRA~1MinGWbinG__~1.EXE -DDLL_EXPORTS -DUNICODE -DWXBUILDING -DWXDLLNAME=wxbase311u_gcc_custom -DWXMAKINGDLL_BASE -DWX_PRECOMP -D_LIB -D_UNICODE -D__WXMSW__ -Dbase_EXPORTS -DwxUSE_BASE=1 -DwxUSE_GUI=0 @CMakeFiles/base.dir/includes_CXX.rsp -Winvalid-pch -include "C:/.../cmakebuild/libs/base/cotire/base_CXX_prefix.hxx" -o CMakeFilesbase.dir______srccommonappbase.cpp.obj -c C:UsersfrankDocumentsCodeswxWidgetssrccommonappbase.cpp
make[2]: *** [libsbaseCMakeFilesbase.dirbuild.make:93: libs/base/CMakeFiles/base.dir/__/__/__/src/common/appbase.cpp.obj] Error 1
make[2]: Leaving directory 'C:/.../cmakebuild'
make[1]: *** [CMakeFilesMakefile2:469: libs/base/CMakeFiles/base.dir/all] Error 2
make[1]: Leaving directory 'C:/.../cmakebuild'
make: *** [Makefile:129: all] Error 2
(I've replaced the wxWidgets source path to ...)
I re-ran the the command:
C:PROGRA~1MinGWbinG__~1.EXE -DDLL_EXPORTS -DUNICODE -DWXBUILDING -DWXDLLNAME=wxbase311u_gcc_custom -DWXMAKINGDLL_BASE -DWX_PRECOMP -D_LIB -D_UNICODE -D__WXMSW__ -Dbase_EXPORTS -DwxUSE_BASE=1 -DwxUSE_GUI=0 @CMakeFiles/base.dir/includes_CXX.rsp -Winvalid-pch -include "C:/.../cmakebuild/libs/base/cotire/base_CXX_prefix.hxx" -o CMakeFilesbase.dir______srccommonappbase.cpp.obj -c C:...srccommonappbase.cpp
But I received no output. I appended -v after the command, and here is the output:
Using built-in specs.
COLLECT_GCC=C:PROGRA~1MinGWbinG__~1.EXE
Target: x86_64-w64-mingw32
Configured with: ../src/configure --enable-languages=c,c++ --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --disable-multilib --prefix=/c/temp/gcc/dest --with-sysroot=/c/temp/gcc/dest --disable-libstdcxx-pch --disable-libstdcxx-verbose --disable-nls --disable-shared --disable-win32-registry --with-tune=haswell --enable-threads=posix --enable-libgomp
Thread model: posix
gcc version 7.3.0 (GCC)
COLLECT_GCC_OPTIONS='-D' 'DLL_EXPORTS' '-D' 'UNICODE' '-D' 'WXBUILDING' '-D' 'WXDLLNAME=wxbase311u_gcc_custom' '-D' 'WXMAKINGDLL_BASE' '-D' 'WX_PRECOMP' '-D' '_LIB' '-D' '_UNICODE' '-D' '__WXMSW__' '-D' 'base_EXPORTS' '-D' 'wxUSE_BASE=1' '-D' 'wxUSE_GUI=0' '-I' 'C:/.../cmakebuild/lib/gcc_dll/mswu' '-I' 'C:/.../include' '-I' 'C:/.../src/zlib' '-I' 'C:/.../src/regex' '-Winvalid-pch' '-include' 'C:/.../cmakebuild/libs/base/cotire/base_CXX_prefix.hxx' '-o' 'CMakeFilesbase.dir______srccommonappbase.cpp.obj' '-c' '-v' '-mtune=haswell' '-march=x86-64'
c:/progra~1/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/7.3.0/cc1plus.exe -quiet -v -I C:/.../cmakebuild/lib/gcc_dll/mswu -I C:/.../include -I C:/.../src/zlib -I C:/.../src/regex -iprefix c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/ -D_REENTRANT -D DLL_EXPORTS -D UNICODE -D WXBUILDING -D WXDLLNAME=wxbase311u_gcc_custom -D WXMAKINGDLL_BASE -D WX_PRECOMP -D _LIB -D _UNICODE -D __WXMSW__ -D base_EXPORTS -D wxUSE_BASE=1 -D wxUSE_GUI=0 -include C:/.../cmakebuild/libs/base/cotire/base_CXX_prefix.hxx C:UsersfrankDocumentsCodeswxWidgetssrccommonappbase.cpp -quiet -dumpbase appbase.cpp -mtune=haswell -march=x86-64 -auxbase-strip CMakeFilesbase.dir______srccommonappbase.cpp.obj -Winvalid-pch -version -o C:UsersfrankAppDataLocalTempccF9vVx8.s
GNU C++14 (GCC) version 7.3.0 (x86_64-w64-mingw32)
compiled by GNU C version 7.3.0, GMP version 6.1.2, MPFR version 3.1.6-p2, MPC version 1.1.0, isl version isl-0.18-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/x86_64-w64-mingw32"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/backward"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/include"
ignoring nonexistent directory "C:/temp/gcc/destC:/temp/gcc/dest/lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/include-fixed"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/include"
ignoring nonexistent directory "C:/temp/gcc/dest/mingw/include"
#include "..." search starts here:
#include <...> search starts here:
C:/.../cmakebuild/lib/gcc_dll/mswu
C:/.../include
C:/.../src/zlib
C:/.../src/regex
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/x86_64-w64-mingw32
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/backward
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/include
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/include-fixed
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/include
End of search list.
GNU C++14 (GCC) version 7.3.0 (x86_64-w64-mingw32)
compiled by GNU C version 7.3.0, GMP version 6.1.2, MPFR version 3.1.6-p2, MPC version 1.1.0, isl version isl-0.18-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 00ba9da796d75deb4f2564304e4a9551
I have no idea what the output above indicates, but if I replace -E instead of -c in the original command, it runs successfully. And if I compile the precompiled source file, it also runs successfully and produces the object file I want.
With this method I can produce the object files and make recognize them, but I can't do this manually for every single object file wxWidgets needs. What problem is this? Is there a way to fix it?
CMake version is 3.13.0-rc3
GNU Make version is 4.2.1
MinGW-W64 G++ version is 7.3.0
c++ cmake g++ wxwidgets gnu-make
I've temporarily fixed this issue by disabling wxBUILD_PRECOMP in option.cmake of wxWidget. But I still don't know why did g++ exited.
– P. Lowell
Nov 23 '18 at 7:15
"I used cmake to generate MinGW makefiles to compile wxWidgets" Why? wxWidgets provides demakefile.gcc
ready to use withmingw32-make -f makefile.gcc ...
Readyourwxdirdocsmswinstall.txt
. And take a look atyourwxdirbuildmakefile.gcc
andconfig.gcc
, you'll see it's not trivial.
– Ripi2
Nov 23 '18 at 13:25
@Ripi2 I'm currently learning to use cmake to build stuff, so I followed cmake build guide from the official wiki. I've already built wxWidgets with cmake, but I'm really curious about why g++ crashed.
– P. Lowell
Nov 24 '18 at 8:32
Useming32-make
with the providedmakefile.gcc
redirecting the output to a file. See in this file the g++ commands used to compile and build each lib file. Not all commands are the same. Compare with yours.
– Ripi2
Nov 24 '18 at 13:43
How much RAM do you have? Creating the PCH may require quite a lot of it, so one possibility is just that gcc runs out of memory and crashes. You can check whether this is the case by monitoring RAM usage in the task manager or any other similar tool while it's running.
– VZ.
Nov 24 '18 at 14:32
|
show 5 more comments
I used cmake to generate MinGW makefiles to compile wxWidgets. An error was occurred during the process of make (with VERBOSE=1):
[ 12%] Building CXX object libs/base/CMakeFiles/base.dir/__/__/__/src/common/appbase.cpp.obj
cd /d C:UsersfrankDocumentsCodeswxWidgetscmakebuildlibsbase && C:PROGRA~1MinGWbinG__~1.EXE -DDLL_EXPORTS -DUNICODE -DWXBUILDING -DWXDLLNAME=wxbase311u_gcc_custom -DWXMAKINGDLL_BASE -DWX_PRECOMP -D_LIB -D_UNICODE -D__WXMSW__ -Dbase_EXPORTS -DwxUSE_BASE=1 -DwxUSE_GUI=0 @CMakeFiles/base.dir/includes_CXX.rsp -Winvalid-pch -include "C:/.../cmakebuild/libs/base/cotire/base_CXX_prefix.hxx" -o CMakeFilesbase.dir______srccommonappbase.cpp.obj -c C:UsersfrankDocumentsCodeswxWidgetssrccommonappbase.cpp
make[2]: *** [libsbaseCMakeFilesbase.dirbuild.make:93: libs/base/CMakeFiles/base.dir/__/__/__/src/common/appbase.cpp.obj] Error 1
make[2]: Leaving directory 'C:/.../cmakebuild'
make[1]: *** [CMakeFilesMakefile2:469: libs/base/CMakeFiles/base.dir/all] Error 2
make[1]: Leaving directory 'C:/.../cmakebuild'
make: *** [Makefile:129: all] Error 2
(I've replaced the wxWidgets source path to ...)
I re-ran the the command:
C:PROGRA~1MinGWbinG__~1.EXE -DDLL_EXPORTS -DUNICODE -DWXBUILDING -DWXDLLNAME=wxbase311u_gcc_custom -DWXMAKINGDLL_BASE -DWX_PRECOMP -D_LIB -D_UNICODE -D__WXMSW__ -Dbase_EXPORTS -DwxUSE_BASE=1 -DwxUSE_GUI=0 @CMakeFiles/base.dir/includes_CXX.rsp -Winvalid-pch -include "C:/.../cmakebuild/libs/base/cotire/base_CXX_prefix.hxx" -o CMakeFilesbase.dir______srccommonappbase.cpp.obj -c C:...srccommonappbase.cpp
But I received no output. I appended -v after the command, and here is the output:
Using built-in specs.
COLLECT_GCC=C:PROGRA~1MinGWbinG__~1.EXE
Target: x86_64-w64-mingw32
Configured with: ../src/configure --enable-languages=c,c++ --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --disable-multilib --prefix=/c/temp/gcc/dest --with-sysroot=/c/temp/gcc/dest --disable-libstdcxx-pch --disable-libstdcxx-verbose --disable-nls --disable-shared --disable-win32-registry --with-tune=haswell --enable-threads=posix --enable-libgomp
Thread model: posix
gcc version 7.3.0 (GCC)
COLLECT_GCC_OPTIONS='-D' 'DLL_EXPORTS' '-D' 'UNICODE' '-D' 'WXBUILDING' '-D' 'WXDLLNAME=wxbase311u_gcc_custom' '-D' 'WXMAKINGDLL_BASE' '-D' 'WX_PRECOMP' '-D' '_LIB' '-D' '_UNICODE' '-D' '__WXMSW__' '-D' 'base_EXPORTS' '-D' 'wxUSE_BASE=1' '-D' 'wxUSE_GUI=0' '-I' 'C:/.../cmakebuild/lib/gcc_dll/mswu' '-I' 'C:/.../include' '-I' 'C:/.../src/zlib' '-I' 'C:/.../src/regex' '-Winvalid-pch' '-include' 'C:/.../cmakebuild/libs/base/cotire/base_CXX_prefix.hxx' '-o' 'CMakeFilesbase.dir______srccommonappbase.cpp.obj' '-c' '-v' '-mtune=haswell' '-march=x86-64'
c:/progra~1/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/7.3.0/cc1plus.exe -quiet -v -I C:/.../cmakebuild/lib/gcc_dll/mswu -I C:/.../include -I C:/.../src/zlib -I C:/.../src/regex -iprefix c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/ -D_REENTRANT -D DLL_EXPORTS -D UNICODE -D WXBUILDING -D WXDLLNAME=wxbase311u_gcc_custom -D WXMAKINGDLL_BASE -D WX_PRECOMP -D _LIB -D _UNICODE -D __WXMSW__ -D base_EXPORTS -D wxUSE_BASE=1 -D wxUSE_GUI=0 -include C:/.../cmakebuild/libs/base/cotire/base_CXX_prefix.hxx C:UsersfrankDocumentsCodeswxWidgetssrccommonappbase.cpp -quiet -dumpbase appbase.cpp -mtune=haswell -march=x86-64 -auxbase-strip CMakeFilesbase.dir______srccommonappbase.cpp.obj -Winvalid-pch -version -o C:UsersfrankAppDataLocalTempccF9vVx8.s
GNU C++14 (GCC) version 7.3.0 (x86_64-w64-mingw32)
compiled by GNU C version 7.3.0, GMP version 6.1.2, MPFR version 3.1.6-p2, MPC version 1.1.0, isl version isl-0.18-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/x86_64-w64-mingw32"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/backward"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/include"
ignoring nonexistent directory "C:/temp/gcc/destC:/temp/gcc/dest/lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/include-fixed"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/include"
ignoring nonexistent directory "C:/temp/gcc/dest/mingw/include"
#include "..." search starts here:
#include <...> search starts here:
C:/.../cmakebuild/lib/gcc_dll/mswu
C:/.../include
C:/.../src/zlib
C:/.../src/regex
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/x86_64-w64-mingw32
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/backward
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/include
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/include-fixed
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/include
End of search list.
GNU C++14 (GCC) version 7.3.0 (x86_64-w64-mingw32)
compiled by GNU C version 7.3.0, GMP version 6.1.2, MPFR version 3.1.6-p2, MPC version 1.1.0, isl version isl-0.18-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 00ba9da796d75deb4f2564304e4a9551
I have no idea what the output above indicates, but if I replace -E instead of -c in the original command, it runs successfully. And if I compile the precompiled source file, it also runs successfully and produces the object file I want.
With this method I can produce the object files and make recognize them, but I can't do this manually for every single object file wxWidgets needs. What problem is this? Is there a way to fix it?
CMake version is 3.13.0-rc3
GNU Make version is 4.2.1
MinGW-W64 G++ version is 7.3.0
c++ cmake g++ wxwidgets gnu-make
I used cmake to generate MinGW makefiles to compile wxWidgets. An error was occurred during the process of make (with VERBOSE=1):
[ 12%] Building CXX object libs/base/CMakeFiles/base.dir/__/__/__/src/common/appbase.cpp.obj
cd /d C:UsersfrankDocumentsCodeswxWidgetscmakebuildlibsbase && C:PROGRA~1MinGWbinG__~1.EXE -DDLL_EXPORTS -DUNICODE -DWXBUILDING -DWXDLLNAME=wxbase311u_gcc_custom -DWXMAKINGDLL_BASE -DWX_PRECOMP -D_LIB -D_UNICODE -D__WXMSW__ -Dbase_EXPORTS -DwxUSE_BASE=1 -DwxUSE_GUI=0 @CMakeFiles/base.dir/includes_CXX.rsp -Winvalid-pch -include "C:/.../cmakebuild/libs/base/cotire/base_CXX_prefix.hxx" -o CMakeFilesbase.dir______srccommonappbase.cpp.obj -c C:UsersfrankDocumentsCodeswxWidgetssrccommonappbase.cpp
make[2]: *** [libsbaseCMakeFilesbase.dirbuild.make:93: libs/base/CMakeFiles/base.dir/__/__/__/src/common/appbase.cpp.obj] Error 1
make[2]: Leaving directory 'C:/.../cmakebuild'
make[1]: *** [CMakeFilesMakefile2:469: libs/base/CMakeFiles/base.dir/all] Error 2
make[1]: Leaving directory 'C:/.../cmakebuild'
make: *** [Makefile:129: all] Error 2
(I've replaced the wxWidgets source path to ...)
I re-ran the the command:
C:PROGRA~1MinGWbinG__~1.EXE -DDLL_EXPORTS -DUNICODE -DWXBUILDING -DWXDLLNAME=wxbase311u_gcc_custom -DWXMAKINGDLL_BASE -DWX_PRECOMP -D_LIB -D_UNICODE -D__WXMSW__ -Dbase_EXPORTS -DwxUSE_BASE=1 -DwxUSE_GUI=0 @CMakeFiles/base.dir/includes_CXX.rsp -Winvalid-pch -include "C:/.../cmakebuild/libs/base/cotire/base_CXX_prefix.hxx" -o CMakeFilesbase.dir______srccommonappbase.cpp.obj -c C:...srccommonappbase.cpp
But I received no output. I appended -v after the command, and here is the output:
Using built-in specs.
COLLECT_GCC=C:PROGRA~1MinGWbinG__~1.EXE
Target: x86_64-w64-mingw32
Configured with: ../src/configure --enable-languages=c,c++ --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --disable-multilib --prefix=/c/temp/gcc/dest --with-sysroot=/c/temp/gcc/dest --disable-libstdcxx-pch --disable-libstdcxx-verbose --disable-nls --disable-shared --disable-win32-registry --with-tune=haswell --enable-threads=posix --enable-libgomp
Thread model: posix
gcc version 7.3.0 (GCC)
COLLECT_GCC_OPTIONS='-D' 'DLL_EXPORTS' '-D' 'UNICODE' '-D' 'WXBUILDING' '-D' 'WXDLLNAME=wxbase311u_gcc_custom' '-D' 'WXMAKINGDLL_BASE' '-D' 'WX_PRECOMP' '-D' '_LIB' '-D' '_UNICODE' '-D' '__WXMSW__' '-D' 'base_EXPORTS' '-D' 'wxUSE_BASE=1' '-D' 'wxUSE_GUI=0' '-I' 'C:/.../cmakebuild/lib/gcc_dll/mswu' '-I' 'C:/.../include' '-I' 'C:/.../src/zlib' '-I' 'C:/.../src/regex' '-Winvalid-pch' '-include' 'C:/.../cmakebuild/libs/base/cotire/base_CXX_prefix.hxx' '-o' 'CMakeFilesbase.dir______srccommonappbase.cpp.obj' '-c' '-v' '-mtune=haswell' '-march=x86-64'
c:/progra~1/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/7.3.0/cc1plus.exe -quiet -v -I C:/.../cmakebuild/lib/gcc_dll/mswu -I C:/.../include -I C:/.../src/zlib -I C:/.../src/regex -iprefix c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/ -D_REENTRANT -D DLL_EXPORTS -D UNICODE -D WXBUILDING -D WXDLLNAME=wxbase311u_gcc_custom -D WXMAKINGDLL_BASE -D WX_PRECOMP -D _LIB -D _UNICODE -D __WXMSW__ -D base_EXPORTS -D wxUSE_BASE=1 -D wxUSE_GUI=0 -include C:/.../cmakebuild/libs/base/cotire/base_CXX_prefix.hxx C:UsersfrankDocumentsCodeswxWidgetssrccommonappbase.cpp -quiet -dumpbase appbase.cpp -mtune=haswell -march=x86-64 -auxbase-strip CMakeFilesbase.dir______srccommonappbase.cpp.obj -Winvalid-pch -version -o C:UsersfrankAppDataLocalTempccF9vVx8.s
GNU C++14 (GCC) version 7.3.0 (x86_64-w64-mingw32)
compiled by GNU C version 7.3.0, GMP version 6.1.2, MPFR version 3.1.6-p2, MPC version 1.1.0, isl version isl-0.18-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/x86_64-w64-mingw32"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/backward"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/include"
ignoring nonexistent directory "C:/temp/gcc/destC:/temp/gcc/dest/lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/include-fixed"
ignoring duplicate directory "c:/progra~1/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/include"
ignoring nonexistent directory "C:/temp/gcc/dest/mingw/include"
#include "..." search starts here:
#include <...> search starts here:
C:/.../cmakebuild/lib/gcc_dll/mswu
C:/.../include
C:/.../src/zlib
C:/.../src/regex
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/x86_64-w64-mingw32
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../include/c++/7.3.0/backward
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/include
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/include-fixed
c:progra~1mingwbin../lib/gcc/x86_64-w64-mingw32/7.3.0/../../../../x86_64-w64-mingw32/include
End of search list.
GNU C++14 (GCC) version 7.3.0 (x86_64-w64-mingw32)
compiled by GNU C version 7.3.0, GMP version 6.1.2, MPFR version 3.1.6-p2, MPC version 1.1.0, isl version isl-0.18-GMP
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 00ba9da796d75deb4f2564304e4a9551
I have no idea what the output above indicates, but if I replace -E instead of -c in the original command, it runs successfully. And if I compile the precompiled source file, it also runs successfully and produces the object file I want.
With this method I can produce the object files and make recognize them, but I can't do this manually for every single object file wxWidgets needs. What problem is this? Is there a way to fix it?
CMake version is 3.13.0-rc3
GNU Make version is 4.2.1
MinGW-W64 G++ version is 7.3.0
c++ cmake g++ wxwidgets gnu-make
c++ cmake g++ wxwidgets gnu-make
edited Nov 23 '18 at 6:58
P. Lowell
asked Nov 23 '18 at 6:43
P. LowellP. Lowell
133
133
I've temporarily fixed this issue by disabling wxBUILD_PRECOMP in option.cmake of wxWidget. But I still don't know why did g++ exited.
– P. Lowell
Nov 23 '18 at 7:15
"I used cmake to generate MinGW makefiles to compile wxWidgets" Why? wxWidgets provides demakefile.gcc
ready to use withmingw32-make -f makefile.gcc ...
Readyourwxdirdocsmswinstall.txt
. And take a look atyourwxdirbuildmakefile.gcc
andconfig.gcc
, you'll see it's not trivial.
– Ripi2
Nov 23 '18 at 13:25
@Ripi2 I'm currently learning to use cmake to build stuff, so I followed cmake build guide from the official wiki. I've already built wxWidgets with cmake, but I'm really curious about why g++ crashed.
– P. Lowell
Nov 24 '18 at 8:32
Useming32-make
with the providedmakefile.gcc
redirecting the output to a file. See in this file the g++ commands used to compile and build each lib file. Not all commands are the same. Compare with yours.
– Ripi2
Nov 24 '18 at 13:43
How much RAM do you have? Creating the PCH may require quite a lot of it, so one possibility is just that gcc runs out of memory and crashes. You can check whether this is the case by monitoring RAM usage in the task manager or any other similar tool while it's running.
– VZ.
Nov 24 '18 at 14:32
|
show 5 more comments
I've temporarily fixed this issue by disabling wxBUILD_PRECOMP in option.cmake of wxWidget. But I still don't know why did g++ exited.
– P. Lowell
Nov 23 '18 at 7:15
"I used cmake to generate MinGW makefiles to compile wxWidgets" Why? wxWidgets provides demakefile.gcc
ready to use withmingw32-make -f makefile.gcc ...
Readyourwxdirdocsmswinstall.txt
. And take a look atyourwxdirbuildmakefile.gcc
andconfig.gcc
, you'll see it's not trivial.
– Ripi2
Nov 23 '18 at 13:25
@Ripi2 I'm currently learning to use cmake to build stuff, so I followed cmake build guide from the official wiki. I've already built wxWidgets with cmake, but I'm really curious about why g++ crashed.
– P. Lowell
Nov 24 '18 at 8:32
Useming32-make
with the providedmakefile.gcc
redirecting the output to a file. See in this file the g++ commands used to compile and build each lib file. Not all commands are the same. Compare with yours.
– Ripi2
Nov 24 '18 at 13:43
How much RAM do you have? Creating the PCH may require quite a lot of it, so one possibility is just that gcc runs out of memory and crashes. You can check whether this is the case by monitoring RAM usage in the task manager or any other similar tool while it's running.
– VZ.
Nov 24 '18 at 14:32
I've temporarily fixed this issue by disabling wxBUILD_PRECOMP in option.cmake of wxWidget. But I still don't know why did g++ exited.
– P. Lowell
Nov 23 '18 at 7:15
I've temporarily fixed this issue by disabling wxBUILD_PRECOMP in option.cmake of wxWidget. But I still don't know why did g++ exited.
– P. Lowell
Nov 23 '18 at 7:15
"I used cmake to generate MinGW makefiles to compile wxWidgets" Why? wxWidgets provides de
makefile.gcc
ready to use with mingw32-make -f makefile.gcc ...
Read yourwxdirdocsmswinstall.txt
. And take a look at yourwxdirbuildmakefile.gcc
and config.gcc
, you'll see it's not trivial.– Ripi2
Nov 23 '18 at 13:25
"I used cmake to generate MinGW makefiles to compile wxWidgets" Why? wxWidgets provides de
makefile.gcc
ready to use with mingw32-make -f makefile.gcc ...
Read yourwxdirdocsmswinstall.txt
. And take a look at yourwxdirbuildmakefile.gcc
and config.gcc
, you'll see it's not trivial.– Ripi2
Nov 23 '18 at 13:25
@Ripi2 I'm currently learning to use cmake to build stuff, so I followed cmake build guide from the official wiki. I've already built wxWidgets with cmake, but I'm really curious about why g++ crashed.
– P. Lowell
Nov 24 '18 at 8:32
@Ripi2 I'm currently learning to use cmake to build stuff, so I followed cmake build guide from the official wiki. I've already built wxWidgets with cmake, but I'm really curious about why g++ crashed.
– P. Lowell
Nov 24 '18 at 8:32
Use
ming32-make
with the provided makefile.gcc
redirecting the output to a file. See in this file the g++ commands used to compile and build each lib file. Not all commands are the same. Compare with yours.– Ripi2
Nov 24 '18 at 13:43
Use
ming32-make
with the provided makefile.gcc
redirecting the output to a file. See in this file the g++ commands used to compile and build each lib file. Not all commands are the same. Compare with yours.– Ripi2
Nov 24 '18 at 13:43
How much RAM do you have? Creating the PCH may require quite a lot of it, so one possibility is just that gcc runs out of memory and crashes. You can check whether this is the case by monitoring RAM usage in the task manager or any other similar tool while it's running.
– VZ.
Nov 24 '18 at 14:32
How much RAM do you have? Creating the PCH may require quite a lot of it, so one possibility is just that gcc runs out of memory and crashes. You can check whether this is the case by monitoring RAM usage in the task manager or any other similar tool while it's running.
– VZ.
Nov 24 '18 at 14:32
|
show 5 more comments
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53441781%2fmingw-w64-g-terminates-unexpectly-during-the-compilation-of-wxwidgets%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53441781%2fmingw-w64-g-terminates-unexpectly-during-the-compilation-of-wxwidgets%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
I've temporarily fixed this issue by disabling wxBUILD_PRECOMP in option.cmake of wxWidget. But I still don't know why did g++ exited.
– P. Lowell
Nov 23 '18 at 7:15
"I used cmake to generate MinGW makefiles to compile wxWidgets" Why? wxWidgets provides de
makefile.gcc
ready to use withmingw32-make -f makefile.gcc ...
Readyourwxdirdocsmswinstall.txt
. And take a look atyourwxdirbuildmakefile.gcc
andconfig.gcc
, you'll see it's not trivial.– Ripi2
Nov 23 '18 at 13:25
@Ripi2 I'm currently learning to use cmake to build stuff, so I followed cmake build guide from the official wiki. I've already built wxWidgets with cmake, but I'm really curious about why g++ crashed.
– P. Lowell
Nov 24 '18 at 8:32
Use
ming32-make
with the providedmakefile.gcc
redirecting the output to a file. See in this file the g++ commands used to compile and build each lib file. Not all commands are the same. Compare with yours.– Ripi2
Nov 24 '18 at 13:43
How much RAM do you have? Creating the PCH may require quite a lot of it, so one possibility is just that gcc runs out of memory and crashes. You can check whether this is the case by monitoring RAM usage in the task manager or any other similar tool while it's running.
– VZ.
Nov 24 '18 at 14:32