[Cocos3.0 Tutorial] How-to open cocos project into Qt Creator IDE

Introduction

Usage of CMake as a build system for a cocos makes the build process more universal and clear. Besides that it also has some implicit opportunities. Here I will describe how easy it becomes now to open a cocos2d project into Qt Creator IDE.

Setting up Qt Creator IDE

Qt Creator is a cross-platform (Windows, Linux, OS X) open source IDE currently maintained by Digia for Qt SDK. There is nothing special you should know about IDE installation process. Just download appropriate package for you system from official site.

Open cocos project into Qt Creator

Assuming that you have already installed IDE.

Step 1

Open it and follow: “File” -> “Open File or Project”.

Step 2

Find CMakeLists.txt file of your project. And open it.
Qt Creator will ask for a build folder. I just leave the standard one.

Step 3

On the next window you need to just push “Run CMake” button

Step 4

At this point you already have opened cocos2d project into Qt IDE. Now you can launch it.

That is all for that tutorial. Thanks for your attention. :slight_smile:

1 Like

:smiley: (/)
Thanks a lot friend !!!
MUCH APPRECIATED !!!

Can you show how to use iOS Simulator/AVD with QT ?

@Den
In the step 3, where is asks for ‘Run CMake’ here are my errors as coming after running it:

CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER
CMake Error: Could not find cmake module file:/cygdrive/d/MyCompa/TestD-build/CMakeFiles/2.8.11.2/CMakeCXXCompiler.cmake
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_CXX_COMPILER_ENV_VAR

CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_C_COMPILER
CMake Error: Could not find cmake module file:/cygdrive/d/MyCompa/TestD-build/CMakeFiles/2.8.11.2/CMakeCCompiler.cmake
CMake Error: Error required internal CMake variable not set, cmake may be not be built correctly.
Missing variable is:
CMAKE_C_COMPILER_ENV_VAR
CMake Error: CMake was unable to find a build program corresponding to “Ninja”. CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool. MS-DOS style path detected: D:/MyCompa/TestD/PreLoad.cmake
Preferred POSIX equivalent is: /cygdrive/d/MyCompa/TestD/PreLoad.cmake
CYGWIN environment variable option “nodosfilewarning” turns off this warning.
Consult the user’s guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
cygwin warning:
– Configuring incomplete, errors occurred!

Please tell me what shall I be doing. I am trying to follow what is written in the errors but don’t know how to fix what is asking.
Note: I am running it on Windows 8 and have installed cygwin.

@catch_up

Try to install make, gcc and gcc-c++ packages that come with setup.exe from cygwin

@Den

I did that…

What else should I do. I even included the cygwin/bin path in environments variables…
And also, are only those 3 to be installed. Anyways, I’ve installed all those that used to be required for cocos2d-x 2.2.2

Also, in the errors it is mentioned to add some path/variable which I am not able to understand how to do.
Please help…

@catch_up

Try to use version with MinGW. It is a bit larger than other but should work fine with CMake.

@Den

Thanks for giving me tht link… I’ll try that and will tell you what happened.

Currently, I was having “Qt 5.3.0 for Windows 64-bit (VS 2013, OpenGL, 636 MB)” from the link
http://qt-project.org/downloads .

Also, can you tell me that in this what does ‘VS 2013’ means in my install. I am asking because I’ve visual studio 2013, so do you knw if something is related to it…

Thanks again :slight_smile:

@catch_up

“VS2013” stands for Visual Studio 2013 compiler. That marks that this installation package contains pre-build binaries for that concrete compiler. As far as I know that package does not contains the compiler itself, whereas “MinGW” version has a minimalistic version of MinGW.

Cool, this looks great.

Do you know if is it possible to create android projects under windows?

I would like to create a cocos2dx project that also supports QT for some screens and other libraries.

Great Thanks!
i also will like to know if there is plans to do “Official” Qt support

Most of the build went Ok but im getting error
[ 14%] Building CXX object cocos/audio/CMakeFiles/audio.dir/win32/SimpleAudioEngine.cpp.obj In file included from D:\dev\cpp\2d\cocos2d-x-3.1_mingw\cocos2d-x-3.1\cocos2d-x-3.1\cocos\audio\win32\MciPlayer.h:4:0, from D:\dev\cpp\2d\cocos2d-x-3.1_mingw\cocos2d-x-3.1\cocos2d-x-3.1\cocos\audio\win32\SimpleAudioEngine.cpp:30: D:/dev/cpp/2d/cocos2d-x-3.1_mingw/cocos2d-x-3.1/cocos2d-x-3.1/cocos/platform/win32/CCStdC.h:35:17: error: conflicting declaration 'typedef SSIZE_T ssize_t' typedef SSIZE_T ssize_t; ^ In file included from d:/Qt/Qt5.3.0_mingw/Tools/mingw482_32/i686-w64-mingw32/include/crtdefs.h:10:0, from d:/Qt/Qt5.3.0_mingw/Tools/mingw482_32/i686-w64-mingw32/include/stddef.h:7, from d:/Qt/Qt5.3.0_mingw/Tools/mingw482_32/lib/gcc/i686-w64-mingw32/4.8.2/include/stddef.h:1, from D:/dev/cpp/2d/cocos2d-x-3.1_mingw/cocos2d-x-3.1/cocos2d-x-3.1/cocos/audio/include/SimpleAudioEngine.h:30, from D:\dev\cpp\2d\cocos2d-x-3.1_mingw\cocos2d-x-3.1\cocos2d-x-3.1\cocos\audio\win32\SimpleAudioEngine.cpp:25: d:/Qt/Qt5.3.0_mingw/Tools/mingw482_32/i686-w64-mingw32/include/_mingw.h:389:13: error: 'ssize_t' has a previous declaration as 'typedef int ssize_t' typedef int ssize_t; ^ In file included from D:/dev/cpp/2d/cocos2d-x-3.1_mingw/cocos2d-x-3.1/cocos2d-x-3.1/cocos/cocos2d.h:113:0, from D:\dev\cpp\2d\cocos2d-x-3.1_mingw\cocos2d-x-3.1\cocos2d-x-3.1\cocos\audio\win32\SimpleAudioEngine.cpp:31: D:/dev/cpp/2d/cocos2d-x-3.1_mingw/cocos2d-x-3.1/cocos2d-x-3.1/cocos/2d/CCLabelTTF.h:77:77: warning: 'LabelTTF' is deprecated (declared at D:/dev/cpp/2d/cocos2d-x-3.1_mingw/cocos2d-x-3.1/cocos2d-x-3.1/cocos/2d/CCLabelTTF.h:59) [-Wdeprecated-declarations] TextVAlignment vAlignment = TextVAlignment::TOP); ^ D:/dev/cpp/2d/cocos2d-x-3.1_mingw/cocos2d-x-3.1/cocos2d-x-3.1/cocos/2d/CCLabelTTF.h:81:105: warning: 'LabelTTF' is deprecated (declared at D:/dev/cpp/2d/cocos2d-x-3.1_mingw/cocos2d-x-3.1/cocos2d-x-3.1/cocos/2d/CCLabelTTF.h:59) [-Wdeprecated-declarations] static LabelTTF * createWithFontDefinition(const std::string& string, FontDefinition &textDefinition); ^ D:/dev/cpp/2d/cocos2d-x-3.1_mingw/cocos2d-x-3.1/cocos2d-x-3.1/cocos/2d/CCLabelTTF.h:116:30: warning: 'LabelTTF' is deprecated (declared at D:/dev/cpp/2d/cocos2d-x-3.1_mingw/cocos2d-x-3.1/cocos2d-x-3.1/cocos/2d/CCLabelTTF.h:59) [-Wdeprecated-declarations] static LabelTTF * create(); ^ In file included from D:/dev/cpp/2d/cocos2d-x-3.1_mingw/cocos2d-x-3.1/cocos2d-x-3.1/cocos/cocos2d.h:114:0, from D:\dev\cpp\2d\cocos2d-x-3.1_mingw\cocos2d-x-3.1\cocos2d-x-3.1\cocos\audio\win32\SimpleAudioEngine.cpp:31: D:/dev/cpp/2d/cocos2d-x-3.1_mingw/cocos2d-x-3.1/cocos2d-x-3.1/cocos/2d/CCLabelBMFont.h:88:186: warning: 'LabelBMFont' is deprecated (declared at D:/dev/cpp/2d/cocos2d-x-3.1_mingw/cocos2d-x-3.1/cocos2d-x-3.1/cocos/2d/CCLabelBMFont.h:74) [-Wdeprecated-declarations] static LabelBMFont * create(const std::string& str, const std::string& fntFile, float width = 0, TextHAlignment alignment = TextHAlignment::LEFT,const Vec2& imageOffset = Vec2::ZERO); ^ D:/dev/cpp/2d/cocos2d-x-3.1_mingw/cocos2d-x-3.1/cocos2d-x-3.1/cocos/2d/CCLabelBMFont.h:92:33: warning: 'LabelBMFont' is deprecated (declared at D:/dev/cpp/2d/cocos2d-x-3.1_mingw/cocos2d-x-3.1/cocos2d-x-3.1/cocos/2d/CCLabelBMFont.h:74) [-Wdeprecated-declarations] static LabelBMFont * create(); ^ D:\dev\cpp\2d\cocos2d-x-3.1_mingw\cocos2d-x-3.1\cocos2d-x-3.1\cocos\audio\win32\SimpleAudioEngine.cpp: In member function 'virtual void CocosDenshion::SimpleAudioEngine::preloadEffect(const char*)': D:\dev\cpp\2d\cocos2d-x-3.1_mingw\cocos2d-x-3.1\cocos2d-x-3.1\cocos\audio\win32\SimpleAudioEngine.cpp:187:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] BREAK_IF(nRet == pPlayer->GetSoundID()); ^ D:\dev\cpp\2d\cocos2d-x-3.1_mingw\cocos2d-x-3.1\cocos2d-x-3.1\cocos\audio\win32\SimpleAudioEngine.cpp:48:29: note: in definition of macro 'BREAK_IF' #define BREAK_IF(cond) if (cond) break; ^ In file included from D:/dev/cpp/2d/cocos2d-x-3.1_mingw/cocos2d-x-3.1/cocos2d-x-3.1/cocos/cocos2d.h:278:0, from D:\dev\cpp\2d\cocos2d-x-3.1_mingw\cocos2d-x-3.1\cocos2d-x-3.1\cocos\audio\win32\SimpleAudioEngine.cpp:31: D:/dev/cpp/2d/cocos2d-x-3.1_mingw/cocos2d-x-3.1/cocos2d-x-3.1/cocos/deprecated/CCDeprecated.h: At global scope: D:/dev/cpp/2d/cocos2d-x-3.1_mingw/cocos2d-x-3.1/cocos2d-x-3.1/cocos/deprecated/CCDeprecated.h:929:35: warning: 'cocos2d::kCCPrioritySystem' defined but not used [-Wunused-variable] CC_DEPRECATED_ATTRIBUTE const int kCCPrioritySystem = Scheduler::PRIORITY_SYSTEM; ^ D:/dev/cpp/2d/cocos2d-x-3.1_mingw/cocos2d-x-3.1/cocos2d-x-3.1/cocos/deprecated/CCDeprecated.h:930:35: warning: 'cocos2d::kCCPriorityNonSystemMin' defined but not used [-Wunused-variable] CC_DEPRECATED_ATTRIBUTE const int kCCPriorityNonSystemMin = Scheduler::PRIORITY_NON_SYSTEM_MIN; ^ D:\dev\cpp\2d\cocos2d-x-3.1_mingw\cocos2d-x-3.1\cocos2d-x-3.1\cocos\audio\win32\SimpleAudioEngine.cpp:41:17: warning: 'CocosDenshion::s_szRootPath' defined but not used [-Wunused-variable] static char s_szRootPath[MAX_PATH]; ^ D:\dev\cpp\2d\cocos2d-x-3.1_mingw\cocos2d-x-3.1\cocos2d-x-3.1\cocos\audio\win32\SimpleAudioEngine.cpp:42:17: warning: 'CocosDenshion::s_dwRootLen' defined but not used [-Wunused-variable] static DWORD s_dwRootLen; ^ D:\dev\cpp\2d\cocos2d-x-3.1_mingw\cocos2d-x-3.1\cocos2d-x-3.1\cocos\audio\win32\SimpleAudioEngine.cpp:43:17: warning: 'CocosDenshion::s_szFullPath' defined but not used [-Wunused-variable] static char s_szFullPath[MAX_PATH]; ^ cocos\audio\CMakeFiles\audio.dir\build.make:57: recipe for target 'cocos/audio/CMakeFiles/audio.dir/win32/SimpleAudioEngine.cpp.obj' failed mingw32-make[2]: *** [cocos/audio/CMakeFiles/audio.dir/win32/SimpleAudioEngine.cpp.obj] Error 1 CMakeFiles\Makefile2:327: recipe for target 'cocos/audio/CMakeFiles/audio.dir/all' failed mingw32-make[1]: *** [cocos/audio/CMakeFiles/audio.dir/all] Error 2 Makefile:74: recipe for target 'all' failed mingw32-make: *** [all] Error 2 22:34:23: The process "D:\Qt\Qt5.3.0_mingw\Tools\mingw482_32\bin\mingw32-make.exe" exited with code 2. Error while building/deploying project Cocos2dx (kit: Desktop Qt 5.3.0 MinGW 32bit) When executing step 'Make' 22:34:23: Elapsed time: 02:13.

jump someone?

Wow why didn’t know about this earlier. I wondered where cmakelists was for.

@Den
well after working on it , i dont understand how do you compile all the framework with mingw
and i explain :
first of all there are missing configuration in the CMakeList.txt , added with comment
`if(MINGW)
add_definitions(-DGLEW_STATIC)
add_definitions(-D__SSIZE_T) # add this line with it it not going to compile

endif()`

then the test-cpp can’t compile Because of there are no libraries compiled for MINGW and there is no sources only headers
and of course it gives you linking errors:

d:/Qt/Qt5.3.0_mingw/Tools/mingw482_32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lsqlite3 d:/Qt/Qt5.3.0_mingw/Tools/mingw482_32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lcurl d:/Qt/Qt5.3.0_mingw/Tools/mingw482_32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lwebsockets d:/Qt/Qt5.3.0_mingw/Tools/mingw482_32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -ljpeg d:/Qt/Qt5.3.0_mingw/Tools/mingw482_32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lpng d:/Qt/Qt5.3.0_mingw/Tools/mingw482_32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lwebp d:/Qt/Qt5.3.0_mingw/Tools/mingw482_32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -ltiff d:/Qt/Qt5.3.0_mingw/Tools/mingw482_32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lglfw3 d:/Qt/Qt5.3.0_mingw/Tools/mingw482_32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lglew32 d:/Qt/Qt5.3.0_mingw/Tools/mingw482_32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lfreetype d:/Qt/Qt5.3.0_mingw/Tools/mingw482_32/bin/../lib/gcc/i686-w64-mingw32/4.8.2/../../../../i686-w64-mingw32/bin/ld.exe: cannot find -lbz2

so can you please tell us how did you solve it to compile the test-cpp ?
Thanks

@Meir_yanovich

Actually I have a Linux and use Qt Creator instead of Eclipse without any problems. I will figure it out for Windows and MinGW these days and give a feedback.

Hu you should say you compiled in Linux , for me when you say Qt and mingw its automatically cross platform .
any way . for windows using Qt 5.3 with mingw :
well you will have to compile the missing cocos2d-x external lib’s in windows OS
and also add the:
add_definitions(-D__SSIZE_T) # add this line with it it not going to compile
in the main CMakeList.txt file .

and also :
${CMAKE_CURRENT_SOURCE_DIR}/external/sqlite3/include
under
include_directories( .... )

and also in CCConsole.cpp in line 197 , currently i comment out this but its problem with UNICODE i have to solve

CCConsole.cpp:197:107: error: cannot convert 'char*' to 'LPWSTR {aka wchar_t*}' for argument '4' to 'INT WSAAddressToStringW(LPSOCKADDR, DWORD, LPWSAPROTOCOL_INFOW, LPWSTR, LPDWORD)' if (WSAAddressToString((struct sockaddr*) &srcaddr, sizeof(struct sockaddr_in), 0, dst, (LPDWORD) &cnt) != 0) ^

the cocos2d-x lib compiles fine but now i try to ask the cocos2d-x team to post the sources of the external lib’s and the way they compile them so i could compile the test-cpp
without success until now …

I changed a dropdown box two times and selected back “MinGW Generator” after the second selection it seems to be working fine.

Anyway, I don’t find how to build this for Android target. The CMakeList looks like it does only take into account linux, windows or mac but not android.

Any help?

This is the output I receive after building the project

18:40:20: Running steps for project Cocos2dx…
18:40:20: Starting: “C:\Qt\Tools\mingw482_32\bin\mingw32-make.exe” clean
18:40:22: The process “C:\Qt\Tools\mingw482_32\bin\mingw32-make.exe” exited normally.
18:40:22: Starting: “C:\Qt\Tools\mingw482_32\bin\mingw32-make.exe”
Scanning dependencies of target chipmunk_static
[ 0%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/chipmunk.c.obj
[ 0%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/cpArbiter.c.obj
[ 0%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/cpArray.c.obj
[ 1%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/cpBB.c.obj
[ 1%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/cpBBTree.c.obj
[ 1%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/cpBody.c.obj
[ 1%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/cpCollision.c.obj
[ 1%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/cpHashSet.c.obj
[ 2%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/cpPolyShape.c.obj
[ 2%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/cpShape.c.obj
[ 2%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/cpSpace.c.obj
[ 2%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/cpSpaceComponent.c.obj
[ 2%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/cpSpaceHash.c.obj
[ 2%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/cpSpaceQuery.c.obj
[ 3%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/cpSpaceStep.c.obj
[ 3%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/cpSpatialIndex.c.obj
[ 3%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/cpSweep1D.c.obj
[ 3%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/cpVect.c.obj
[ 3%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/constraints/cpConstraint.c.obj
[ 3%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/constraints/cpDampedRotarySpring.c.obj
[ 4%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/constraints/cpDampedSpring.c.obj
[ 4%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/constraints/cpGearJoint.c.obj
[ 4%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/constraints/cpGrooveJoint.c.obj
[ 4%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/constraints/cpPinJoint.c.obj
[ 4%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/constraints/cpPivotJoint.c.obj
[ 5%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/constraints/cpRatchetJoint.c.obj
[ 5%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/constraints/cpRotaryLimitJoint.c.obj
[ 5%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/constraints/cpSimpleMotor.c.obj
[ 5%] Building C object external/chipmunk/src/CMakeFiles/chipmunk_static.dir/constraints/cpSlideJoint.c.obj
Linking C static library …\lib\libchipmunk.a
[ 5%] Built target chipmunk_static
Scanning dependencies of target box2d
[ 5%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Collision/Shapes/b2ChainShape.cpp.obj
[ 5%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Collision/Shapes/b2CircleShape.cpp.obj
[ 5%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Collision/Shapes/b2EdgeShape.cpp.obj
[ 6%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Collision/Shapes/b2PolygonShape.cpp.obj
[ 6%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Collision/b2BroadPhase.cpp.obj
[ 6%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Collision/b2CollideCircle.cpp.obj
[ 6%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Collision/b2CollideEdge.cpp.obj
[ 6%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Collision/b2CollidePolygon.cpp.obj
[ 6%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Collision/b2Collision.cpp.obj
[ 7%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Collision/b2Distance.cpp.obj
[ 7%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Collision/b2DynamicTree.cpp.obj
[ 7%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Collision/b2TimeOfImpact.cpp.obj
[ 7%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Common/b2BlockAllocator.cpp.obj
[ 7%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Common/b2Draw.cpp.obj
[ 7%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Common/b2Math.cpp.obj
[ 8%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Common/b2Settings.cpp.obj
[ 8%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Common/b2StackAllocator.cpp.obj
[ 8%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Common/b2Timer.cpp.obj
[ 8%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Contacts/b2ChainAndCircleContact.cpp.obj
[ 8%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Contacts/b2ChainAndPolygonContact.cpp.obj
[ 9%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Contacts/b2CircleContact.cpp.obj
[ 9%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Contacts/b2Contact.cpp.obj
[ 9%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Contacts/b2ContactSolver.cpp.obj
[ 9%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Contacts/b2EdgeAndCircleContact.cpp.obj
[ 9%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Contacts/b2EdgeAndPolygonContact.cpp.obj
[ 9%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Contacts/b2PolygonAndCircleContact.cpp.obj
[ 10%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Contacts/b2PolygonContact.cpp.obj
[ 10%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2DistanceJoint.cpp.obj
[ 10%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2FrictionJoint.cpp.obj
[ 10%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2GearJoint.cpp.obj
[ 10%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2Joint.cpp.obj
[ 10%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2MouseJoint.cpp.obj
[ 11%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2MotorJoint.cpp.obj
[ 11%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2PrismaticJoint.cpp.obj
[ 11%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2PulleyJoint.cpp.obj
[ 11%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2RevoluteJoint.cpp.obj
[ 11%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2RopeJoint.cpp.obj
[ 12%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2WeldJoint.cpp.obj
[ 12%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/Joints/b2WheelJoint.cpp.obj
[ 12%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/b2Body.cpp.obj
[ 12%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/b2ContactManager.cpp.obj
[ 12%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/b2Fixture.cpp.obj
[ 12%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/b2Island.cpp.obj
[ 13%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/b2World.cpp.obj
[ 13%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Dynamics/b2WorldCallbacks.cpp.obj
[ 13%] Building CXX object external/Box2D/CMakeFiles/box2d.dir/Rope/b2Rope.cpp.obj
Linking CXX static library …\lib\libbox2d.a
[ 13%] Built target box2d
Scanning dependencies of target unzip
[ 13%] Building CXX object external/unzip/CMakeFiles/unzip.dir/ioapi.cpp.obj
[ 13%] Building CXX object external/unzip/CMakeFiles/unzip.dir/unzip.cpp.obj
Linking CXX static library …\lib\libunzip.a
[ 13%] Built target unzip
Scanning dependencies of target tinyxml2
[ 13%] Building CXX object external/tinyxml2/CMakeFiles/tinyxml2.dir/tinyxml2.cpp.obj
Linking CXX static library …\lib\libtinyxml2.a
[ 13%] Built target tinyxml2
Scanning dependencies of target xxhash
[ 14%] Building C object external/xxhash/CMakeFiles/xxhash.dir/xxhash.c.obj
Linking C static library …\lib\libxxhash.a
[ 14%] Built target xxhash
Scanning dependencies of target audio
[ 14%] Building CXX object cocos/audio/CMakeFiles/audio.dir/win32/SimpleAudioEngine.cpp.obj
In file included from C:\Librerias\cocos2d-x-3.1.1\cocos\audio\win32\MciPlayer.h:4:0,
from C:\Librerias\cocos2d-x-3.1.1\cocos\audio\win32\SimpleAudioEngine.cpp:30:
C:/Librerias/cocos2d-x-3.1.1/cocos/platform/win32/CCStdC.h:35:17: error: conflicting declaration ‘typedef SSIZE_T ssize_t’
typedef SSIZE_T ssize_t;
^
In file included from C:/Qt/Tools/mingw482_32/i686-w64-mingw32/include/crtdefs.h:10:0,
from C:/Qt/Tools/mingw482_32/i686-w64-mingw32/include/stddef.h:7,
from C:/Qt/Tools/mingw482_32/lib/gcc/i686-w64-mingw32/4.8.2/include/stddef.h:1,
from C:/Librerias/cocos2d-x-3.1.1/cocos/audio/include/SimpleAudioEngine.h:30,
from C:\Librerias\cocos2d-x-3.1.1\cocos\audio\win32\SimpleAudioEngine.cpp:25:
C:/Qt/Tools/mingw482_32/i686-w64-mingw32/include/_mingw.h:389:13: error: ‘ssize_t’ has a previous declaration as ‘typedef int ssize_t’
typedef int ssize_t;
^
In file included from C:/Librerias/cocos2d-x-3.1.1/cocos/cocos2d.h:113:0,
from C:\Librerias\cocos2d-x-3.1.1\cocos\audio\win32\SimpleAudioEngine.cpp:31:
C:/Librerias/cocos2d-x-3.1.1/cocos/2d/CCLabelTTF.h:77:77: warning: ‘LabelTTF’ is deprecated (declared at C:/Librerias/cocos2d-x-3.1.1/cocos/2d/CCLabelTTF.h:59) [-Wdeprecated-declarations]
TextVAlignment vAlignment = TextVAlignment::TOP);
^
C:/Librerias/cocos2d-x-3.1.1/cocos/2d/CCLabelTTF.h:81:105: warning: ‘LabelTTF’ is deprecated (declared at C:/Librerias/cocos2d-x-3.1.1/cocos/2d/CCLabelTTF.h:59) [-Wdeprecated-declarations]
static LabelTTF * createWithFontDefinition(const std::string& string, FontDefinition &textDefinition);
^
C:/Librerias/cocos2d-x-3.1.1/cocos/2d/CCLabelTTF.h:116:30: warning: ‘LabelTTF’ is deprecated (declared at C:/Librerias/cocos2d-x-3.1.1/cocos/2d/CCLabelTTF.h:59) [-Wdeprecated-declarations]
static LabelTTF * create();
^
In file included from C:/Librerias/cocos2d-x-3.1.1/cocos/cocos2d.h:114:0,
from C:\Librerias\cocos2d-x-3.1.1\cocos\audio\win32\SimpleAudioEngine.cpp:31:
C:/Librerias/cocos2d-x-3.1.1/cocos/2d/CCLabelBMFont.h:88:186: warning: ‘LabelBMFont’ is deprecated (declared at C:/Librerias/cocos2d-x-3.1.1/cocos/2d/CCLabelBMFont.h:74) [-Wdeprecated-declarations]
static LabelBMFont * create(const std::string& str, const std::string& fntFile, float width = 0, TextHAlignment alignment = TextHAlignment::LEFT,const Vec2& imageOffset = Vec2::ZERO);
^
C:/Librerias/cocos2d-x-3.1.1/cocos/2d/CCLabelBMFont.h:92:33: warning: ‘LabelBMFont’ is deprecated (declared at C:/Librerias/cocos2d-x-3.1.1/cocos/2d/CCLabelBMFont.h:74) [-Wdeprecated-declarations]
static LabelBMFont * create();
^
C:\Librerias\cocos2d-x-3.1.1\cocos\audio\win32\SimpleAudioEngine.cpp: In member function ‘virtual void CocosDenshion::SimpleAudioEngine::preloadEffect(const char*)’:
C:\Librerias\cocos2d-x-3.1.1\cocos\audio\win32\SimpleAudioEngine.cpp:187:46: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
BREAK_IF(nRet == pPlayer->GetSoundID());
^
C:\Librerias\cocos2d-x-3.1.1\cocos\audio\win32\SimpleAudioEngine.cpp:48:29: note: in definition of macro ‘BREAK_IF’
#define BREAK_IF(cond) if (cond) break;
^
In file included from C:/Librerias/cocos2d-x-3.1.1/cocos/cocos2d.h:278:0,
from C:\Librerias\cocos2d-x-3.1.1\cocos\audio\win32\SimpleAudioEngine.cpp:31:
C:/Librerias/cocos2d-x-3.1.1/cocos/deprecated/CCDeprecated.h: At global scope:
C:/Librerias/cocos2d-x-3.1.1/cocos/deprecated/CCDeprecated.h:929:35: warning: ‘cocos2d::kCCPrioritySystem’ defined but not used [-Wunused-variable]
CC_DEPRECATED_ATTRIBUTE const int kCCPrioritySystem = Scheduler::PRIORITY_SYSTEM;
^
C:/Librerias/cocos2d-x-3.1.1/cocos/deprecated/CCDeprecated.h:930:35: warning: ‘cocos2d::kCCPriorityNonSystemMin’ defined but not used [-Wunused-variable]
CC_DEPRECATED_ATTRIBUTE const int kCCPriorityNonSystemMin = Scheduler::PRIORITY_NON_SYSTEM_MIN;
^
C:\Librerias\cocos2d-x-3.1.1\cocos\audio\win32\SimpleAudioEngine.cpp:41:17: warning: ‘CocosDenshion::s_szRootPath’ defined but not used [-Wunused-variable]
static char s_szRootPath[MAX_PATH];
^
C:\Librerias\cocos2d-x-3.1.1\cocos\audio\win32\SimpleAudioEngine.cpp:42:17: warning: ‘CocosDenshion::s_dwRootLen’ defined but not used [-Wunused-variable]
static DWORD s_dwRootLen;
^
C:\Librerias\cocos2d-x-3.1.1\cocos\audio\win32\SimpleAudioEngine.cpp:43:17: warning: ‘CocosDenshion::s_szFullPath’ defined but not used [-Wunused-variable]
static char s_szFullPath[MAX_PATH];
^
cocos\audio\CMakeFiles\audio.dir\build.make:57: recipe for target ‘cocos/audio/CMakeFiles/audio.dir/win32/SimpleAudioEngine.cpp.obj’ failed
mingw32-make[2]: *** [cocos/audio/CMakeFiles/audio.dir/win32/SimpleAudioEngine.cpp.obj] Error 1
CMakeFiles\Makefile2:327: recipe for target ‘cocos/audio/CMakeFiles/audio.dir/all’ failed
Makefile:74: recipe for target ‘all’ failed
mingw32-make[1]: *** [cocos/audio/CMakeFiles/audio.dir/all] Error 2
mingw32-make: *** [all] Error 2
18:41:25: The process “C:\Qt\Tools\mingw482_32\bin\mingw32-make.exe” exited with code 2.
Error while building/deploying project Cocos2dx (kit: Desktop Qt 5.3.0 MinGW 32bit)
When executing step ‘Make’
18:41:25: Elapsed time: 01:05.

Sorry for the spam, i did not realize that the answer of the compilation errors was already there. It worked for me and I also have the issues with the externals libraries.

Still, I´m trying to figure out how to build this for android projects if it is not included in the build above. My idea is to combine QML with cocos2d it will be a very powerful platform for building graphics applications.

Martin

I found on possible approach to build android apps for android. Cmake does not support android natively so the way to go is a bit hacky. There is a web site with a walk through that explains how to build apps with cmake for android.

http://binglongx.wordpress.com/2014/02/23/build-native-android-programs-with-cmake-and-android-cmake/