在Codelite IDE中使用Box2D

Using box2d in Codelite IDE

本文关键字:Box2D Codelite IDE      更新时间:2023-10-16

update :我已经浏览并在构建日志中提到的文件中添加了一些<cwchar>的依赖。现在,我归结为我的CWCHAR标题本身似乎是一个问题,在那里它缺少一堆声明。这是新的构建日志:

C:Windowssystem32cmd.exe /C C:/MinGW/bin/mingw32-make.exe -j4 SHELL=cmd.exe -e -f  Makefile
"----------Building project:[ ncrv3 - Debug ]----------"
mingw32-make.exe[1]: Entering directory 'C:/Users/Michael/Documents/temp/ncrv3'
C:/MinGW/bin/g++.exe  -c  "C:/Users/Michael/Documents/temp/ncrv3/main.cpp" -g -O0 -Wall -std=c++11 -DSFML_STATIC  -o ./Debug/main.cpp.o -I. -IC:UsersMichaelDocumentsSFMLSFML-2.4.1include
In file included from c:mingwlibgccmingw325.3.0includec++bitspostypes.h:40:0,
                 from c:mingwlibgccmingw325.3.0includec++bitschar_traits.h:40,
                 from c:mingwlibgccmingw325.3.0includec++string:40,
                 from C:/Users/Michael/Documents/temp/ncrv3/main.cpp:4:
c:mingwlibgccmingw325.3.0includec++cwchar:177:11: error: '::wcscat' has not been declared
   using ::wcscat;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:178:11: error: '::wcscmp' has not been declared
   using ::wcscmp;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:179:11: error: '::wcscoll' has not been declared
   using ::wcscoll;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:180:11: error: '::wcscpy' has not been declared
   using ::wcscpy;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:181:11: error: '::wcscspn' has not been declared
   using ::wcscspn;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:183:11: error: '::wcslen' has not been declared
   using ::wcslen;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:184:11: error: '::wcsncat' has not been declared
   using ::wcsncat;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:185:11: error: '::wcsncmp' has not been declared
   using ::wcsncmp;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:186:11: error: '::wcsncpy' has not been declared
   using ::wcsncpy;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:188:11: error: '::wcsspn' has not been declared
   using ::wcsspn;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:193:11: error: '::wcstok' has not been declared
   using ::wcstok;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:196:11: error: '::wcsxfrm' has not been declared
   using ::wcsxfrm;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:204:11: error: '::wcschr' has not been declared
   using ::wcschr;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:205:11: error: '::wcspbrk' has not been declared
   using ::wcspbrk;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:206:11: error: '::wcsrchr' has not been declared
   using ::wcsrchr;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:207:11: error: '::wcsstr' has not been declared
   using ::wcsstr;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar: In function 'wchar_t* std::wcschr(wchar_t*, wchar_t)':
c:mingwlibgccmingw325.3.0includec++cwchar:213:55: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcschr(const_cast<const wchar_t*>(__p), __c); }
                                                       ^
c:mingwlibgccmingw325.3.0includec++cwchar:212:3: note:   initializing argument 1 of 'wchar_t* std::wcschr(wchar_t*, wchar_t)'
   wcschr(wchar_t* __p, wchar_t __c)
   ^
c:mingwlibgccmingw325.3.0includec++cwchar: In function 'wchar_t* std::wcspbrk(wchar_t*, const wchar_t*)':
c:mingwlibgccmingw325.3.0includec++cwchar:217:58: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
                                                          ^
c:mingwlibgccmingw325.3.0includec++cwchar:216:3: note:   initializing argument 1 of 'wchar_t* std::wcspbrk(wchar_t*, const wchar_t*)'
   wcspbrk(wchar_t* __s1, const wchar_t* __s2)
   ^
c:mingwlibgccmingw325.3.0includec++cwchar: In function 'wchar_t* std::wcsrchr(wchar_t*, wchar_t)':
c:mingwlibgccmingw325.3.0includec++cwchar:221:56: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
                                                        ^
c:mingwlibgccmingw325.3.0includec++cwchar:220:3: note:   initializing argument 1 of 'wchar_t* std::wcsrchr(wchar_t*, wchar_t)'
   wcsrchr(wchar_t* __p, wchar_t __c)
   ^
c:mingwlibgccmingw325.3.0includec++cwchar: In function 'wchar_t* std::wcsstr(wchar_t*, const wchar_t*)':
c:mingwlibgccmingw325.3.0includec++cwchar:225:57: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
                                                         ^
c:mingwlibgccmingw325.3.0includec++cwchar:224:3: note:   initializing argument 1 of 'wchar_t* std::wcsstr(wchar_t*, const wchar_t*)'
   wcsstr(wchar_t* __s1, const wchar_t* __s2)
   ^
In file included from c:mingwlibgccmingw325.3.0includec++string:40:0,
                 from C:/Users/Michael/Documents/temp/ncrv3/main.cpp:4:
c:mingwlibgccmingw325.3.0includec++bitschar_traits.h: In static member function 'static std::size_t std::char_traits<wchar_t>::length(const char_type*)':
c:mingwlibgccmingw325.3.0includec++bitschar_traits.h:358:26: error: 'wcslen' was not declared in this scope
       { return wcslen(__s); }
                          ^
mingw32-make.exe[1]: *** [Debug/main.cpp.o] Error 1
mingw32-make.exe: *** [All] Error 2
ncrv3.mk:105: recipe for target 'Debug/main.cpp.o' failed
mingw32-make.exe[1]: Leaving directory 'C:/Users/Michael/Documents/temp/ncrv3'
Makefile:4: recipe for target 'All' failed
====1 errors, 4 warnings====

旧:

我想在我的命令行项目中包括Box2D(2.3.0)库,我在Codelite 9.2.8中进行了工作。Box2D关于Codelite支持的文档中没有什么。

由于没有相关的设置说明,所以我尝试将整个库(Box2D-Master/box2d/box2d)放在我的项目文件夹中,以动态链接它。在我什至#include" box2d/box2d.h"之前,我会收到8个警告,导致构建中有一个错误。我在做什么错?

看起来有些声明丢失了,但是我在这里有整个Box2D库。const wchar*wchar*之间也有一些无效的转换。

在我的编译器设置中,我启用了-std=c++11的C 11支持。这是我的整个构建日志。

C:Windowssystem32cmd.exe /C C:/MinGW/bin/mingw32-make.exe -j4 SHELL=cmd.exe -e -f  Makefile
"----------Building project:[ ncrv3 - Debug ]----------"
mingw32-make.exe[1]: Entering directory 'C:/Users/Michael/Documents/temp/ncrv3'
C:/MinGW/bin/g++.exe  -c  "C:/Users/Michael/Documents/temp/ncrv3/Box2D/Dynamics/b2Body.cpp" -g -O0 -Wall -std=c++11 -DSFML_STATIC  -o ./Debug/Box2D_Dynamics_b2Body.cpp.o -I. -IC:UsersMichaelDocumentsSFMLSFML-2.4.1include
C:/MinGW/bin/g++.exe  -c  "C:/Users/Michael/Documents/temp/ncrv3/Box2D/Dynamics/b2World.cpp" -g -O0 -Wall -std=c++11 -DSFML_STATIC  -o ./Debug/Box2D_Dynamics_b2World.cpp.o -I. -IC:UsersMichaelDocumentsSFMLSFML-2.4.1include
C:/MinGW/bin/g++.exe  -c  "C:/Users/Michael/Documents/temp/ncrv3/Box2D/Dynamics/b2WorldCallbacks.cpp" -g -O0 -Wall -std=c++11 -DSFML_STATIC  -o ./Debug/Box2D_Dynamics_b2WorldCallbacks.cpp.o -I. -IC:UsersMichaelDocumentsSFMLSFML-2.4.1include
C:/MinGW/bin/g++.exe  -c  "C:/Users/Michael/Documents/temp/ncrv3/Box2D/Collision/b2BroadPhase.cpp" -g -O0 -Wall -std=c++11 -DSFML_STATIC  -o ./Debug/Box2D_Collision_b2BroadPhase.cpp.o -I. -IC:UsersMichaelDocumentsSFMLSFML-2.4.1include
In file included from c:mingwlibgccmingw325.3.0includec++bitspostypes.h:40:0,
                 from c:mingwlibgccmingw325.3.0includec++bitschar_traits.h:40,
                 from c:mingwlibgccmingw325.3.0includec++string:40,
                 from c:mingwlibgccmingw325.3.0includec++random:40,
                 from c:mingwlibgccmingw325.3.0includec++bitsstl_algo.h:66,
                 from c:mingwlibgccmingw325.3.0includec++algorithm:62,
                 from ./Box2D/Collision/b2BroadPhase.h:25,
                 from ./Box2D/Dynamics/b2ContactManager.h:22,
                 from ./Box2D/Dynamics/b2World.h:25,
                 from C:/Users/Michael/Documents/temp/ncrv3/Box2D/Dynamics/b2World.cpp:19:
c:mingwlibgccmingw325.3.0includec++cwchar:177:11: error: '::wcscat' has not been declared
   using ::wcscat;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:178:11: error: '::wcscmp' has not been declared
   using ::wcscmp;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:179:11: error: '::wcscoll' has not been declared
   using ::wcscoll;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:180:11: error: '::wcscpy' has not been declared
   using ::wcscpy;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:181:11: error: '::wcscspn' has not been declared
   using ::wcscspn;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:183:11: error: '::wcslen' has not been declared
   using ::wcslen;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:184:11: error: '::wcsncat' has not been declared
   using ::wcsncat;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:185:11: error: '::wcsncmp' has not been declared
   using ::wcsncmp;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:186:11: error: '::wcsncpy' has not been declared
   using ::wcsncpy;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:188:11: error: '::wcsspn' has not been declared
   using ::wcsspn;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:193:11: error: '::wcstok' has not been declared
   using ::wcstok;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:196:11: error: '::wcsxfrm' has not been declared
   using ::wcsxfrm;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:204:11: error: '::wcschr' has not been declared
   using ::wcschr;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:205:11: error: '::wcspbrk' has not been declared
   using ::wcspbrk;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:206:11: error: '::wcsrchr' has not been declared
   using ::wcsrchr;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:207:11: error: '::wcsstr' has not been declared
   using ::wcsstr;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar: In function 'wchar_t* std::wcschr(wchar_t*, wchar_t)':
c:mingwlibgccmingw325.3.0includec++cwchar:213:55: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcschr(const_cast<const wchar_t*>(__p), __c); }
                                                       ^
c:mingwlibgccmingw325.3.0includec++cwchar:212:3: note:   initializing argument 1 of 'wchar_t* std::wcschr(wchar_t*, wchar_t)'
   wcschr(wchar_t* __p, wchar_t __c)
   ^
c:mingwlibgccmingw325.3.0includec++cwchar: In function 'wchar_t* std::wcspbrk(wchar_t*, const wchar_t*)':
c:mingwlibgccmingw325.3.0includec++cwchar:217:58: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
                                                          ^
c:mingwlibgccmingw325.3.0includec++cwchar:216:3: note:   initializing argument 1 of 'wchar_t* std::wcspbrk(wchar_t*, const wchar_t*)'
   wcspbrk(wchar_t* __s1, const wchar_t* __s2)
   ^
c:mingwlibgccmingw325.3.0includec++cwchar: In function 'wchar_t* std::wcsrchr(wchar_t*, wchar_t)':
c:mingwlibgccmingw325.3.0includec++cwchar:221:56: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
                                                        ^
c:mingwlibgccmingw325.3.0includec++cwchar:220:3: note:   initializing argument 1 of 'wchar_t* std::wcsrchr(wchar_t*, wchar_t)'
   wcsrchr(wchar_t* __p, wchar_t __c)
   ^
c:mingwlibgccmingw325.3.0includec++cwchar: In function 'wchar_t* std::wcsstr(wchar_t*, const wchar_t*)':
c:mingwlibgccmingw325.3.0includec++cwchar:225:57: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
                                                         ^
c:mingwlibgccmingw325.3.0includec++cwchar:224:3: note:   initializing argument 1 of 'wchar_t* std::wcsstr(wchar_t*, const wchar_t*)'
   wcsstr(wchar_t* __s1, const wchar_t* __s2)
   ^
In file included from c:mingwlibgccmingw325.3.0includec++bitspostypes.h:40:0,
                 from c:mingwlibgccmingw325.3.0includec++bitschar_traits.h:40,
                 from c:mingwlibgccmingw325.3.0includec++string:40,
                 from c:mingwlibgccmingw325.3.0includec++random:40,
                 from c:mingwlibgccmingw325.3.0includec++bitsstl_algo.h:66,
                 from c:mingwlibgccmingw325.3.0includec++algorithm:62,
                 from ./Box2D/Collision/b2BroadPhase.h:25,
                 from C:/Users/Michael/Documents/temp/ncrv3/Box2D/Collision/b2BroadPhase.cpp:19:
c:mingwlibgccmingw325.3.0includec++cwchar:177:11: error: '::wcscat' has not been declared
   using ::wcscat;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:178:11: error: '::wcscmp' has not been declared
   using ::wcscmp;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:179:11: error: '::wcscoll' has not been declared
   using ::wcscoll;
           ^
In file included from c:mingwlibgccmingw325.3.0includec++string:40:0,
                 from c:mingwlibgccmingw325.3.0includec++random:40,
                 from c:mingwlibgccmingw325.3.0includec++bitsstl_algo.h:66,
                 from c:mingwlibgccmingw325.3.0includec++algorithm:62,
                 from ./Box2D/Collision/b2BroadPhase.h:25,
                 from ./Box2D/Dynamics/b2ContactManager.h:22,
                 from ./Box2D/Dynamics/b2World.h:25,
                 from C:/Users/Michael/Documents/temp/ncrv3/Box2D/Dynamics/b2World.cpp:19:
c:mingwlibgccmingw325.3.0includec++bitschar_traits.h: In static member function 'static std::size_t std::char_traits<wchar_t>::length(const char_type*)':
c:mingwlibgccmingw325.3.0includec++bitschar_traits.h:358:26: error: 'wcslen' was not declared in this scope
       { return wcslen(__s); }
                          ^
c:mingwlibgccmingw325.3.0includec++cwchar:180:11: error: '::wcscpy' has not been declared
   using ::wcscpy;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:181:11: error: '::wcscspn' has not been declared
   using ::wcscspn;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:183:11: error: '::wcslen' has not been declared
   using ::wcslen;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:184:11: error: '::wcsncat' has not been declared
   using ::wcsncat;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:185:11: error: '::wcsncmp' has not been declared
   using ::wcsncmp;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:186:11: error: '::wcsncpy' has not been declared
   using ::wcsncpy;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:188:11: error: '::wcsspn' has not been declared
   using ::wcsspn;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:193:11: error: '::wcstok' has not been declared
   using ::wcstok;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:196:11: error: '::wcsxfrm' has not been declared
   using ::wcsxfrm;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:204:11: error: '::wcschr' has not been declared
   using ::wcschr;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:205:11: error: '::wcspbrk' has not been declared
   using ::wcspbrk;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:206:11: error: '::wcsrchr' has not been declared
   using ::wcsrchr;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar:207:11: error: '::wcsstr' has not been declared
   using ::wcsstr;
           ^
c:mingwlibgccmingw325.3.0includec++cwchar: In function 'wchar_t* std::wcschr(wchar_t*, wchar_t)':
c:mingwlibgccmingw325.3.0includec++cwchar:213:55: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcschr(const_cast<const wchar_t*>(__p), __c); }
                                                       ^
c:mingwlibgccmingw325.3.0includec++cwchar:212:3: note:   initializing argument 1 of 'wchar_t* std::wcschr(wchar_t*, wchar_t)'
   wcschr(wchar_t* __p, wchar_t __c)
   ^
c:mingwlibgccmingw325.3.0includec++cwchar: In function 'wchar_t* std::wcspbrk(wchar_t*, const wchar_t*)':
c:mingwlibgccmingw325.3.0includec++cwchar:217:58: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
                                                          ^
c:mingwlibgccmingw325.3.0includec++cwchar:216:3: note:   initializing argument 1 of 'wchar_t* std::wcspbrk(wchar_t*, const wchar_t*)'
   wcspbrk(wchar_t* __s1, const wchar_t* __s2)
   ^
c:mingwlibgccmingw325.3.0includec++cwchar: In function 'wchar_t* std::wcsrchr(wchar_t*, wchar_t)':
c:mingwlibgccmingw325.3.0includec++cwchar:221:56: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
                                                        ^
c:mingwlibgccmingw325.3.0includec++cwchar:220:3: note:   initializing argument 1 of 'wchar_t* std::wcsrchr(wchar_t*, wchar_t)'
   wcsrchr(wchar_t* __p, wchar_t __c)
   ^
c:mingwlibgccmingw325.3.0includec++cwchar: In function 'wchar_t* std::wcsstr(wchar_t*, const wchar_t*)':
c:mingwlibgccmingw325.3.0includec++cwchar:225:57: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
                                                         ^
c:mingwlibgccmingw325.3.0includec++cwchar:224:3: note:   initializing argument 1 of 'wchar_t* std::wcsstr(wchar_t*, const wchar_t*)'
   wcsstr(wchar_t* __s1, const wchar_t* __s2)
   ^
In file included from c:mingwlibgccmingw325.3.0includec++string:40:0,
                 from c:mingwlibgccmingw325.3.0includec++random:40,
                 from c:mingwlibgccmingw325.3.0includec++bitsstl_algo.h:66,
                 from c:mingwlibgccmingw325.3.0includec++algorithm:62,
                 from ./Box2D/Collision/b2BroadPhase.h:25,
                 from C:/Users/Michael/Documents/temp/ncrv3/Box2D/Collision/b2BroadPhase.cpp:19:
c:mingwlibgccmingw325.3.0includec++bitschar_traits.h: In static member function 'static std::size_t std::char_traits<wchar_t>::length(const char_type*)':
c:mingwlibgccmingw325.3.0includec++bitschar_traits.h:358:26: error: 'wcslen' was not declared in this scope
       { return wcslen(__s); }
                          ^
C:/MinGW/bin/g++.exe  -c  "C:/Users/Michael/Documents/temp/ncrv3/Box2D/Collision/b2CollideCircle.cpp" -g -O0 -Wall -std=c++11 -DSFML_STATIC  -o ./Debug/Box2D_Collision_b2CollideCircle.cpp.o -I. -IC:UsersMichaelDocumentsSFMLSFML-2.4.1include
C:/MinGW/bin/g++.exe  -c  "C:/Users/Michael/Documents/temp/ncrv3/Box2D/Collision/b2CollideEdge.cpp" -g -O0 -Wall -std=c++11 -DSFML_STATIC  -o ./Debug/Box2D_Collision_b2CollideEdge.cpp.o -I. -IC:UsersMichaelDocumentsSFMLSFML-2.4.1include
C:/MinGW/bin/g++.exe  -c  "C:/Users/Michael/Documents/temp/ncrv3/Box2D/Collision/b2CollidePolygon.cpp" -g -O0 -Wall -std=c++11 -DSFML_STATIC  -o ./Debug/Box2D_Collision_b2CollidePolygon.cpp.o -I. -IC:UsersMichaelDocumentsSFMLSFML-2.4.1include
mingw32-make.exe[1]: *** [Debug/Box2D_Collision_b2BroadPhase.cpp.o] Error 1
mingw32-make.exe[1]: *** Waiting for unfinished jobs....
ncrv3.mk:190: recipe for target 'Debug/Box2D_Collision_b2BroadPhase.cpp.o' failed
ncrv3.mk:174: recipe for target 'Debug/Box2D_Dynamics_b2World.cpp.o' failed
mingw32-make.exe[1]: *** [Debug/Box2D_Dynamics_b2World.cpp.o] Error 1
mingw32-make.exe: *** [All] Error 2
mingw32-make.exe[1]: Leaving directory 'C:/Users/Michael/Documents/temp/ncrv3'
Makefile:4: recipe for target 'All' failed
====1 errors, 8 warnings====

我设法解决了我的问题,但这更多是解决问题而不是实际修复程序。通过从-std=c++11切换到-std=gnu++11来恢复所有功能。因此,如果您有类似的问题,请尝试切换。