Note that there are some explanatory texts on larger screens.

plurals
  1. POCocos2d-x in QtCreator on Ubuntu
    primarykey
    data
    text
    <p>I try to run cocos2d-x v 2.2 helloword project in QtCreator. I'm using this project file based on this repository <a href="https://github.com/FlyingFishBird/cocos2d-x_2_0_4_templete_for_qtcreator/graphs/contributors" rel="noreferrer">https://github.com/FlyingFishBird/cocos2d-x_2_0_4_templete_for_qtcreator/graphs/contributors</a></p> <pre><code> TEMPLATE = app CONFIG += console CONFIG -= app_bundle CONFIG -= qt CONFIG(debug, debug|release) { DESTDIR = bin/debug/ } CONFIG(release, debug|release) { DESTDIR = bin/release/ } RESOURCES = Resources.qrc SOURCES += Classes/AppDelegate.cpp \ Classes/HelloWorldScene.cpp \ proj.linux/main.cpp HEADERS +=Classes/AppDelegate.h \ Classes/HelloWorldScene.h COCOS2DX_ROOT = $$system(echo $COCOS2DX_ROOT) # set include path and depend path COCOS_INCLUDE_DEPEND_PATH += $$COCOS2DX_ROOT/cocos2dx \ $$COCOS2DX_ROOT/cocos2dx/include \ $$COCOS2DX_ROOT/cocos2dx/cocoa \ $$COCOS2DX_ROOT/cocos2dx/kazmath/include \ $$COCOS2DX_ROOT/cocos2dx/platform \ $$COCOS2DX_ROOT/CocosDenshion/include \ $$COCOS2DX_ROOT/extensions \ $$COCOS2DX_ROOT/external DEFINES += LINUX COCOS_INCLUDE_DEPEND_PATH += $$COCOS2DX_ROOT/cocos2dx/platform/linux LBITS = $$system(getconf LONG_BIT) contains(LBITS,64) { COCOS_INCLUDE_DEPEND_PATH += $$COCOS2DX_ROOT/platform/third_party/linux/include64 STATICLIBS_DIR += $$COCOS2DX_ROOT/cocos2dx/platform/third_party/linux/libraries/lib64 contains(COCOS2D-X_MODULES,CocosDenshion) { SHAREDLIBS_DIR += $$COCOS2DX_ROOT/CocosDenshion/third_party/fmod/lib64/api/lib SHAREDLIBS += -L$$SHAREDLIBS_DIR -lfmodex64 } DEFINES += NDEBUG SHAREDLIBS += -L$$COCOS2DX_ROOT/lib/linux/release -Wl,-rpath,$$COCOS2DX_ROOT/lib/linux/release STATICLIBS += $$COCOS2DX_ROOT/lib/linux/release/libbox2d.a SHAREDLIBS += -lcocos2d -lrt -lz SHAREDLIBS += -lfreetype -lcurl -lGL -lGLEW # SHAREDLIBS += -lxml2 -lpng -ljpep -ltif\f SHAREDLIBS += -lcocosdenshion SHAREDLIBS += -Wl,-rpath,$${SHAREDLIBS_DIR} SHAREDLIBS += -Wl,-rpath,$$STATICLIBS_DIR LIBS += $${STATICLIBS} LIBS += $${SHAREDLIBS} } INCLUDEPATH += $${COCOS_INCLUDE_DEPEND_PATH} DEPENDPATH += $${COCOS_INCLUDE_DEPEND_PATH} </code></pre> <p>My main.cpp file:</p> <pre><code> #include "../Classes/AppDelegate.h" #include "cocos2d.h" #include "CCEGLView.h" #include &lt;stdlib.h&gt; #include &lt;stdio.h&gt; #include &lt;unistd.h&gt; #include &lt;string&gt; #include "../Classes/AppDelegate.h" USING_NS_CC; // 500 is enough? #define MAXPATHLEN 500 int main(int argc, char **argv) { // get application path int length; char fullpath[MAXPATHLEN]; length = readlink("/proc/self/exe", fullpath, sizeof(fullpath)); fullpath[length] = '\0'; std::string resourcePath = fullpath; resourcePath = resourcePath.substr(0, resourcePath.find_last_of("/")); resourcePath += "/../../Resources/"; // create the application instance AppDelegate app; CCApplication::sharedApplication()-&gt;setResourceRootPath(resourcePath.c_str()); CCEGLView* eglView = CCEGLView::sharedOpenGLView(); eglView-&gt;setFrameSize(800, 480); return CCApplication::sharedApplication()-&gt;run(); } </code></pre> <p>The project compiled properly without errors, but when the application run, the window with black screen appear and disappear in the next moment. I think that run() method return -1. The console output print me this:</p> <pre><code>cocos2d-x debug info [Ready for GLSL] cocos2d-x debug info [Ready for OpenGL 2.0] </code></pre> <p>I try to run my project on Ubuntu 12.04. Can anybody know what I doing wrong?</p> <p>===== edit AppDelegate: </p> <pre><code>#include "AppDelegate.h" #include "HelloWorldScene.h" USING_NS_CC; AppDelegate::AppDelegate() { } AppDelegate::~AppDelegate() { } bool AppDelegate::applicationDidFinishLaunching() { // initialize director CCDirector* pDirector = CCDirector::sharedDirector(); CCEGLView* pEGLView = CCEGLView::sharedOpenGLView(); pDirector-&gt;setOpenGLView(pEGLView); // turn on display FPS pDirector-&gt;setDisplayStats(true); // set FPS. the default value is 1.0/60 if you don't call this pDirector-&gt;setAnimationInterval(1.0 / 60); // create a scene. it's an autorelease object CCScene *pScene = HelloWorld::scene(); // run pDirector-&gt;runWithScene(pScene); return true; } // This function will be called when the app is inactive. When comes a phone call,it's be invoked too void AppDelegate::applicationDidEnterBackground() { CCDirector::sharedDirector()-&gt;stopAnimation(); // if you use SimpleAudioEngine, it must be pause // SimpleAudioEngine::sharedEngine()-&gt;pauseBackgroundMusic(); } // this function will be called when the app is active again void AppDelegate::applicationWillEnterForeground() { CCDirector::sharedDirector()-&gt;startAnimation(); // if you use SimpleAudioEngine, it must resume here // SimpleAudioEngine::sharedEngine()-&gt;resumeBackgroundMusic(); } </code></pre> <p>But I think that, the code from appdelegate never execute :/</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload