Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MinGW&x2B;Windows 10上的cmake生成错误:'__MINGW#u扩展&x27;不命名类型_Cmake_Mingw - Fatal编程技术网

MinGW&x2B;Windows 10上的cmake生成错误:'__MINGW#u扩展&x27;不命名类型

MinGW&x2B;Windows 10上的cmake生成错误:'__MINGW#u扩展&x27;不命名类型,cmake,mingw,Cmake,Mingw,我花了很长时间在Linux下开发C/C++程序,现在我正试图在我没有经验的windows下移植/编译我的程序。我想让工作流尽可能接近Linux,所以我选择了g++/MinGW和cmake 当我使用标准方法时 cd Build cmake .. -G "MinGW Makefiles" make 我发现了大量以下错误: PS D:\git\SimpleSimulationEngine\cpp\Build> make VERBOSE=1 "C:\Program

我花了很长时间在Linux下开发C/C++程序,现在我正试图在我没有经验的windows下移植/编译我的程序。我想让工作流尽可能接近Linux,所以我选择了
g++/MinGW
cmake

当我使用标准方法时

cd Build
cmake .. -G "MinGW Makefiles"
make
我发现了大量以下错误:

PS D:\git\SimpleSimulationEngine\cpp\Build> make VERBOSE=1
"C:\Program Files\CMake\bin\cmake.exe" -SD:\git\SimpleSimulationEngine\cpp -BD:\git\SimpleSimulationEngine\cpp\Build --check-build-system CMakeFiles\Makefile.cmake 0
"C:\Program Files\CMake\bin\cmake.exe" -E cmake_progress_start D:\git\SimpleSimulationEngine\cpp\Build\CMakeFiles D:\git\SimpleSimulationEngine\cpp\Build\\CMakeFiles\progress.marks
C:/MinGW/bin/make  -f CMakeFiles\Makefile2 all
make[1]: Entering directory 'D:/git/SimpleSimulationEngine/cpp/Build'
C:/MinGW/bin/make  -f common\algorithms\CMakeFiles\algorithms.dir\build.make common/algorithms/CMakeFiles/algorithms.dir/depend
make[2]: Entering directory 'D:/git/SimpleSimulationEngine/cpp/Build'
"C:\Program Files\CMake\bin\cmake.exe" -E cmake_depends "MinGW Makefiles" D:\git\SimpleSimulationEngine\cpp D:\git\SimpleSimulationEngine\cpp\common\algorithms D:\git\SimpleSimulationEngine\cpp\Build D:\git\SimpleSimulationEngine\cpp\Build\common\algorithms D:\git\SimpleSimulationEngine\cpp\Build\common\algorithms\CMakeFiles\algorithms.dir\DependInfo.cmake --color=
make[2]: Leaving directory 'D:/git/SimpleSimulationEngine/cpp/Build'
C:/MinGW/bin/make  -f common\algorithms\CMakeFiles\algorithms.dir\build.make common/algorithms/CMakeFiles/algorithms.dir/build
make[2]: Entering directory 'D:/git/SimpleSimulationEngine/cpp/Build'
[  1%] Building CXX object common/algorithms/CMakeFiles/algorithms.dir/main.cpp.obj
cd /d D:\git\SimpleSimulationEngine\cpp\Build\common\algorithms && C:\MinGW\bin\g++.exe  @CMakeFiles/algorithms.dir/includes_CXX.rsp -Wall -std=c++17 -g -Og -fPIC -fno-strict-aliasing  -Wno-maybe-uninitialized -Wno-char-subscripts -Wno-write-strings -Wno-format -Wno-parentheses -Wno-unused-but-set-variable  -Wno-narrowing -Wno-unused-result  -Wno-sign-compare -Wno-strict-aliasing -Wno-unused-variable -Wno-unused-value -Wno-comment -Wno-misleading-indentation  -Werror=return-type -o CMakeFiles\algorithms.dir\main.cpp.obj -c D:\git\SimpleSimulationEngine\cpp\common\algorithms\main.cpp
In file included from c:\mingw\x86_64-w64-mingw32\include\stdlib.h:9:0,
                 from c:\mingw\include\c++\6.1.0\cstdlib:75,
                 from D:/git/SimpleSimulationEngine/cpp/common/utils/testUtils.h:6,  
                 from D:\git\SimpleSimulationEngine\cpp\common\algorithms\main.cpp:2:
c:\mingw\x86_64-w64-mingw32\include\crtdefs.h:35:1: error: '__MINGW_EXTENSION' does not name a type
 __MINGW_EXTENSION typedef unsigned __int64 size_t;
 ^~~~~~~~~~~~~~~~~
c:\mingw\x86_64-w64-mingw32\include\crtdefs.h:45:1: error: '__MINGW_EXTENSION' does not name a type
 __MINGW_EXTENSION typedef __int64 ssize_t;
 ^~~~~~~~~~~~~~~~~
c:\mingw\x86_64-w64-mingw32\include\crtdefs.h:52:9: error: 'size_t' does not name a type
 typedef size_t rsize_t;
         ^~~~~~
c:\mingw\x86_64-w64-mingw32\include\crtdefs.h:62:1: error: '__MINGW_EXTENSION' does not name a type
 __MINGW_EXTENSION typedef __int64 intptr_t;
 ^~~~~~~~~~~~~~~~~
c:\mingw\x86_64-w64-mingw32\include\crtdefs.h:75:1: error: '__MINGW_EXTENSION' does not name a type
 __MINGW_EXTENSION typedef unsigned __int64 uintptr_t;
我不确定我的MinGW环境和库是否正确设置,因为我以前尝试过一些旧的MinGW版本,但我重新安装了它。我还安装了一个atempt来安装GLEW。但我现在不使用MSYS2,我使用的是MinGW和cmake的一些独立安装

我的
CMakeLists.txt中没有什么特别的内容

cmake_minimum_required ( VERSION 2.8 )
project ( SimpleSimulationEngine )
set(default_build_type Release)
SET( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++17" )

SET( IGNORE_WARRNING_FLAGS "-Wno-maybe-uninitialized -Wno-char-subscripts -Wno-write-strings -Wno-format -Wno-parentheses -Wno-unused-but-set-variable  -Wno-narrowing -Wno-unused-result  -Wno-sign-compare -Wno-strict-aliasing -Wno-unused-variable -Wno-unused-value -Wno-comment -Wno-misleading-indentation " )
SET( WARRNING_TO_ERROR "-Werror=return-type")
SET( AXULIARY_COMPILE_FLAGS "-g -Og -fPIC -fno-strict-aliasing ")
SET( CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS} ${AXULIARY_COMPILE_FLAGS} ${IGNORE_WARRNING_FLAGS} 
message ( "CMAKE_CXX_FLAGS " ${CMAKE_CXX_FLAGS} )
当我检查我的环境变量/路径时,似乎没有任何可疑之处(比如MinGW的两个版本)

请用
make VERBOSE=1
显示完整的gcc命令@ssbssa:I用
make VERBOSE=1
更新了我的答案,谢谢你的建议。我个人在冗长的输出中没有看到任何可疑之处。希望您能看到更多。我刚刚用x86_64-w64-mingw32 gcc-6.1尝试了这个命令,但没有发现这些错误。我必须添加一些include目录
-Icpp\common\utils-Icpp\common\math
,我假设这些目录在
CMakeFiles/algorithms.dir/includes\ucxx.rsp
中,并添加define
-D\u USE\u math\u DEFINES
。因此,您的CMakeFiles/algorithms.dir/includes_CXX.rsp的内容可能也很有趣。因此您可以在windows上编译代码?哦,我没有
CMakeFiles/algorithms.dir/
,请参见屏幕截图