mercredi 28 décembre 2016

Using box2d in Codelite IDE

I want to include the Box2d (2.3.0) library in my command-line project, which I'm working on in CodeLite 9.2.8. There's nothing in Box2d's documentation about codelite support.

Because there's no relevant setup instructions, I tried taking the entire library (Box2D-Master/Box2D/Box2D) and placing it in my project folder, to dynamically link it. Before I even #include "Box2D/Box2D.h", I get 8 warnings leading to one error in the build. What am I doing wrong?

It looks like some declarations are missing, but I have the entire Box2D library here. There are also some invalid conversions between const wchar* and wchar*.

In my compiler settings, I HAVE enabled c++11 support with -std=c++11. Here is my entire build log.

C:\Windows\system32\cmd.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:\Users\Michael\Documents\SFML\SFML-2.4.1\include
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:\Users\Michael\Documents\SFML\SFML-2.4.1\include
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:\Users\Michael\Documents\SFML\SFML-2.4.1\include
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:\Users\Michael\Documents\SFML\SFML-2.4.1\include
In file included from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\postypes.h:40:0,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\char_traits.h:40,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\string:40,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\random:40,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\stl_algo.h:66,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\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:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:177:11: error: '::wcscat' has not been declared
   using ::wcscat;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:178:11: error: '::wcscmp' has not been declared
   using ::wcscmp;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:179:11: error: '::wcscoll' has not been declared
   using ::wcscoll;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:180:11: error: '::wcscpy' has not been declared
   using ::wcscpy;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:181:11: error: '::wcscspn' has not been declared
   using ::wcscspn;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:183:11: error: '::wcslen' has not been declared
   using ::wcslen;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:184:11: error: '::wcsncat' has not been declared
   using ::wcsncat;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:185:11: error: '::wcsncmp' has not been declared
   using ::wcsncmp;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:186:11: error: '::wcsncpy' has not been declared
   using ::wcsncpy;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:188:11: error: '::wcsspn' has not been declared
   using ::wcsspn;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:193:11: error: '::wcstok' has not been declared
   using ::wcstok;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:196:11: error: '::wcsxfrm' has not been declared
   using ::wcsxfrm;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:204:11: error: '::wcschr' has not been declared
   using ::wcschr;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:205:11: error: '::wcspbrk' has not been declared
   using ::wcspbrk;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:206:11: error: '::wcsrchr' has not been declared
   using ::wcsrchr;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:207:11: error: '::wcsstr' has not been declared
   using ::wcsstr;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar: In function 'wchar_t* std::wcschr(wchar_t*, wchar_t)':
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:213:55: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcschr(const_cast<const wchar_t*>(__p), __c); }
                                                       ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:212:3: note:   initializing argument 1 of 'wchar_t* std::wcschr(wchar_t*, wchar_t)'
   wcschr(wchar_t* __p, wchar_t __c)
   ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar: In function 'wchar_t* std::wcspbrk(wchar_t*, const wchar_t*)':
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:217:58: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
                                                          ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\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:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar: In function 'wchar_t* std::wcsrchr(wchar_t*, wchar_t)':
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:221:56: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
                                                        ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:220:3: note:   initializing argument 1 of 'wchar_t* std::wcsrchr(wchar_t*, wchar_t)'
   wcsrchr(wchar_t* __p, wchar_t __c)
   ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar: In function 'wchar_t* std::wcsstr(wchar_t*, const wchar_t*)':
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:225:57: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
                                                         ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\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:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\postypes.h:40:0,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\char_traits.h:40,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\string:40,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\random:40,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\stl_algo.h:66,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\algorithm:62,
                 from ./Box2D/Collision/b2BroadPhase.h:25,
                 from C:/Users/Michael/Documents/temp/ncrv3/Box2D/Collision/b2BroadPhase.cpp:19:
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:177:11: error: '::wcscat' has not been declared
   using ::wcscat;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:178:11: error: '::wcscmp' has not been declared
   using ::wcscmp;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:179:11: error: '::wcscoll' has not been declared
   using ::wcscoll;
           ^
In file included from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\string:40:0,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\random:40,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\stl_algo.h:66,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\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:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\char_traits.h: In static member function 'static std::size_t std::char_traits<wchar_t>::length(const char_type*)':
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\char_traits.h:358:26: error: 'wcslen' was not declared in this scope
       { return wcslen(__s); }
                          ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:180:11: error: '::wcscpy' has not been declared
   using ::wcscpy;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:181:11: error: '::wcscspn' has not been declared
   using ::wcscspn;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:183:11: error: '::wcslen' has not been declared
   using ::wcslen;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:184:11: error: '::wcsncat' has not been declared
   using ::wcsncat;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:185:11: error: '::wcsncmp' has not been declared
   using ::wcsncmp;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:186:11: error: '::wcsncpy' has not been declared
   using ::wcsncpy;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:188:11: error: '::wcsspn' has not been declared
   using ::wcsspn;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:193:11: error: '::wcstok' has not been declared
   using ::wcstok;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:196:11: error: '::wcsxfrm' has not been declared
   using ::wcsxfrm;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:204:11: error: '::wcschr' has not been declared
   using ::wcschr;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:205:11: error: '::wcspbrk' has not been declared
   using ::wcspbrk;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:206:11: error: '::wcsrchr' has not been declared
   using ::wcsrchr;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:207:11: error: '::wcsstr' has not been declared
   using ::wcsstr;
           ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar: In function 'wchar_t* std::wcschr(wchar_t*, wchar_t)':
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:213:55: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcschr(const_cast<const wchar_t*>(__p), __c); }
                                                       ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:212:3: note:   initializing argument 1 of 'wchar_t* std::wcschr(wchar_t*, wchar_t)'
   wcschr(wchar_t* __p, wchar_t __c)
   ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar: In function 'wchar_t* std::wcspbrk(wchar_t*, const wchar_t*)':
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:217:58: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); }
                                                          ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\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:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar: In function 'wchar_t* std::wcsrchr(wchar_t*, wchar_t)':
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:221:56: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcsrchr(const_cast<const wchar_t*>(__p), __c); }
                                                        ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:220:3: note:   initializing argument 1 of 'wchar_t* std::wcsrchr(wchar_t*, wchar_t)'
   wcsrchr(wchar_t* __p, wchar_t __c)
   ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar: In function 'wchar_t* std::wcsstr(wchar_t*, const wchar_t*)':
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\cwchar:225:57: error: invalid conversion from 'const wchar_t*' to 'wchar_t*' [-fpermissive]
   { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); }
                                                         ^
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\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:\mingw\lib\gcc\mingw32\5.3.0\include\c++\string:40:0,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\random:40,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\stl_algo.h:66,
                 from c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\algorithm:62,
                 from ./Box2D/Collision/b2BroadPhase.h:25,
                 from C:/Users/Michael/Documents/temp/ncrv3/Box2D/Collision/b2BroadPhase.cpp:19:
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\char_traits.h: In static member function 'static std::size_t std::char_traits<wchar_t>::length(const char_type*)':
c:\mingw\lib\gcc\mingw32\5.3.0\include\c++\bits\char_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:\Users\Michael\Documents\SFML\SFML-2.4.1\include
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:\Users\Michael\Documents\SFML\SFML-2.4.1\include
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:\Users\Michael\Documents\SFML\SFML-2.4.1\include
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====

Aucun commentaire:

Enregistrer un commentaire