【问题标题】:Cannot run new cocos2d-x project无法运行新的 cocos2d-x 项目
【发布时间】:2014-09-14 15:43:18
【问题描述】:

我试图自己解决这个问题,但我没有更多的想法;( 我用 cocos2d-x 控制台创建了一个新项目。 现在我想编译这个,但我总是收到这个错误。 我实际上使用最新的 at bundle for mac、apache-ant-1.9.4 & android NDK-r9d

   MacBook-Air:3sCube to-dev$ cocos run -p android -v
Running command: compile
Building mode: debug
building native
NDK build mode: debug
The Selected NDK toolchain version was 4.8 !
running: '/Users/to-dev/Desktop/android-ndk-r9d/ndk-build -C /Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android -j1 NDK_MODULE_PATH=/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d:/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos:/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/external NDK_DEBUG=1'

Android NDK: WARNING:/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./Android.mk:cocos2dx_static: LOCAL_LDLIBS is always ignored for static libraries    
Android NDK: WARNING:/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/platform/android/Android.mk:cocos2dxandroid_static: LOCAL_LDLIBS is always ignored for static libraries    
make: Entering directory `/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android'
[armeabi] StaticLibrary  : libcocos2d.a
[armeabi] StaticLibrary  : libcocosdenshion.a
[armeabi] StaticLibrary  : libchipmunk.a
[armeabi] StaticLibrary  : libcocos2dandroid.a
[armeabi] StaticLibrary  : libcpufeatures.a
[armeabi] SharedLibrary  : libcocos2dcpp.so
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCActionManager.cpp:81: error: undefined reference to 'cocos2d::ccArrayNew(int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCActionManager.cpp:100: error: undefined reference to 'cocos2d::ccArrayRemoveObjectAtIndex(cocos2d::_ccArray*, int, bool)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCAtlasNode.cpp:93: error: undefined reference to 'cocos2d::TextureAtlas::initWithTexture(cocos2d::Texture2D*, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCAtlasNode.cpp:138: error: undefined reference to 'cocos2d::QuadCommand::init(float, unsigned int, cocos2d::GLProgramState*, cocos2d::BlendFunc, cocos2d::V3F_C4B_T2F_Quad*, int, cocos2d::Mat4 const&)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCFontAtlas.cpp:76: error: undefined reference to 'cocos2d::Texture2D::initWithData(void const*, int, cocos2d::Texture2D::PixelFormat, int, int, cocos2d::Size const&)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCFontAtlas.cpp:268: error: undefined reference to 'cocos2d::Texture2D::initWithData(void const*, int, cocos2d::Texture2D::PixelFormat, int, int, cocos2d::Size const&)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCFontAtlas.cpp:312: error: undefined reference to 'cocos2d::Texture2D::initWithData(void const*, int, cocos2d::Texture2D::PixelFormat, int, int, cocos2d::Size const&)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCGrid.cpp:133: error: undefined reference to 'cocos2d::Texture2D::initWithData(void const*, int, cocos2d::Texture2D::PixelFormat, int, int, cocos2d::Size const&)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCLabel.cpp:1326: error: undefined reference to 'cocos2d::TextureAtlas::updateQuad(cocos2d::V3F_C4B_T2F_Quad*, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCLabelAtlas.cpp:208: error: undefined reference to 'cocos2d::TextureAtlas::increaseTotalQuadsWith(int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCLabelAtlas.cpp:219: error: undefined reference to 'cocos2d::TextureAtlas::resizeCapacity(int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCLabelAtlas.cpp:250: error: undefined reference to 'cocos2d::TextureAtlas::updateQuad(cocos2d::V3F_C4B_T2F_Quad*, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCParallaxNode.cpp:68: error: undefined reference to 'cocos2d::ccArrayNew(int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCParallaxNode.cpp:126: error: undefined reference to 'cocos2d::ccArrayRemoveObjectAtIndex(cocos2d::_ccArray*, int, bool)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCParticleBatchNode.cpp:100: error: undefined reference to 'cocos2d::TextureAtlas::initWithTexture(cocos2d::Texture2D*, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCParticleBatchNode.cpp:459: error: undefined reference to 'cocos2d::TextureAtlas::fillWithEmptyQuadsFromIndex(int, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCParticleBatchNode.cpp:465: error: undefined reference to 'cocos2d::TextureAtlas::moveQuadsFromIndex(int, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCParticleBatchNode.cpp:469: error: undefined reference to 'cocos2d::TextureAtlas::increaseTotalQuadsWith(int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCParticleBatchNode.cpp:291: error: undefined reference to 'cocos2d::TextureAtlas::moveQuadsFromIndex(int, int, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCParticleBatchNode.cpp:379: error: undefined reference to 'cocos2d::TextureAtlas::removeQuadsAtIndex(int, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCParticleBatchNode.cpp:382: error: undefined reference to 'cocos2d::TextureAtlas::fillWithEmptyQuadsFromIndex(int, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCParticleBatchNode.cpp:433: error: undefined reference to 'cocos2d::TextureAtlas::resizeCapacity(int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCParticleExamples.cpp:52: error: undefined reference to 'cocos2d::Image::initWithImageData(unsigned char const*, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCParticleSystem.cpp:403: error: undefined reference to 'cocos2d::ZipUtils::inflateMemory(unsigned char*, int, unsigned char**)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCParticleSystem.cpp:409: error: undefined reference to 'cocos2d::Image::initWithImageData(unsigned char const*, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCParticleSystemQuad.cpp:377: error: undefined reference to 'cocos2d::QuadCommand::init(float, unsigned int, cocos2d::GLProgramState*, cocos2d::BlendFunc, cocos2d::V3F_C4B_T2F_Quad*, int, cocos2d::Mat4 const&)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCRenderTexture.cpp:526: error: undefined reference to 'cocos2d::Image::initWithRawData(unsigned char const*, int, int, int, int, bool)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCRenderTexture.cpp:530: error: undefined reference to 'cocos2d::Image::initWithRawData(unsigned char const*, int, int, int, int, bool)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCSprite.cpp:336: error: undefined reference to 'cocos2d::Image::initWithRawData(unsigned char const*, int, int, int, int, bool)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCSprite.cpp:568: error: undefined reference to 'cocos2d::TextureAtlas::updateQuad(cocos2d::V3F_C4B_T2F_Quad*, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCSprite.cpp:595: error: undefined reference to 'cocos2d::QuadCommand::init(float, unsigned int, cocos2d::GLProgramState*, cocos2d::BlendFunc, cocos2d::V3F_C4B_T2F_Quad*, int, cocos2d::Mat4 const&)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCSprite.cpp:913: error: undefined reference to 'cocos2d::TextureAtlas::updateQuad(cocos2d::V3F_C4B_T2F_Quad*, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCSpriteBatchNode.cpp:99: error: undefined reference to 'cocos2d::TextureAtlas::initWithTexture(cocos2d::Texture2D*, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCSpriteBatchNode.cpp:548: error: undefined reference to 'cocos2d::TextureAtlas::insertQuad(cocos2d::V3F_C4B_T2F_Quad*, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCSpriteBatchNode.cpp:560: error: undefined reference to 'cocos2d::TextureAtlas::removeQuadAtIndex(int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCSpriteBatchNode.cpp:405: error: undefined reference to 'cocos2d::TextureAtlas::resizeCapacity(int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCSpriteBatchNode.cpp:639: error: undefined reference to 'cocos2d::TextureAtlas::insertQuad(cocos2d::V3F_C4B_T2F_Quad*, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCTMXLayer.cpp:91: error: undefined reference to 'cocos2d::ccCArrayNew(int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCTMXLayer.cpp:448: error: undefined reference to 'cocos2d::ccCArrayInsertValueAtIndex(cocos2d::_ccCArray*, void*, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCTMXLayer.cpp:384: error: undefined reference to 'cocos2d::ccCArrayInsertValueAtIndex(cocos2d::_ccCArray*, void*, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCTMXLayer.cpp:585: error: undefined reference to 'cocos2d::ccCArrayRemoveValueAtIndex(cocos2d::_ccCArray*, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCTMXLayer.cpp:595: error: undefined reference to 'cocos2d::TextureAtlas::removeQuadAtIndex(int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCTMXLayer.cpp:565: error: undefined reference to 'cocos2d::ccCArrayRemoveValueAtIndex(cocos2d::_ccCArray*, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCTMXXMLParser.cpp:646: error: undefined reference to 'cocos2d::ZipUtils::inflateMemoryWithHint(unsigned char*, int, unsigned char**, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./2d/CCTileMapAtlas.cpp:226: error: undefined reference to 'cocos2d::TextureAtlas::increaseTotalQuadsWith(int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./3d/CCBundle3D.cpp:451: error: undefined reference to 'cocos2d::BundleReader::init(char*, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./3d/CCBundle3D.cpp:456: error: undefined reference to 'cocos2d::BundleReader::read(void*, int, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./3d/CCBundle3D.cpp:465: error: undefined reference to 'cocos2d::BundleReader::read(void*, int, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./3d/CCBundle3D.cpp:484: error: undefined reference to 'cocos2d::BundleReader::read(void*, int, int)'
/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android/../cocos2d/cocos/./3d/CCBundle3D.cpp:497: error: undefined reference to 'cocos2d::BundleReader::read(void*, int, int)'
clang++: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [obj/local/armeabi/libcocos2dcpp.so] Error 1
make: Leaving directory `/Users/to-dev/Desktop/cocos2d-x-3.2/3sCube/proj.android'
Error running command, return code: 2

我做错了什么?感谢您的帮助!

t333o

【问题讨论】:

    标签: android macos android-ndk cocos2d-x


    【解决方案1】:

    感谢所有答案和cmets!

    我的解决方案是我重新安装 cocos2d-x 3.2 和所有环境变量。 谢谢!

    【讨论】:

      【解决方案2】:

      1) 你试过运行:cocos run -p android 吗?

      2) 您是否检查了 cocos2d 库 添加到 Android.mk 中?

      3) 您可以尝试使用以下 Makefile:

      Application.mk

      APP_STL := c++_static
      NDK_TOOLCHAIN_VERSION=clang
      
      APP_CPPFLAGS := -frtti -DCC_ENABLE_CHIPMUNK_INTEGRATION=1 -std=c++11 -fsigned-char
      APP_LDFLAGS := -latomic
      
      
      APP_DEBUG := $(strip $(NDK_DEBUG))
      ifeq ($(APP_DEBUG),1)
        APP_CPPFLAGS += -DCOCOS2D_DEBUG=1
        APP_OPTIM := debug
      else
        APP_CPPFLAGS += -DNDEBUG
        APP_OPTIM := release
      endif
      

      Android.mk

      LOCAL_PATH := $(call my-dir)
      
      include $(CLEAR_VARS)
      
      $(call import-add-path,$(LOCAL_PATH)/../../cocos2d)
      $(call import-add-path,$(LOCAL_PATH)/../../cocos2d/external)
      $(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos)
      
      LOCAL_MODULE := cocos2dcpp_shared
      
      LOCAL_MODULE_FILENAME := libcocos2dcpp
      
      LOCAL_SRC_FILES := hellocpp/main.cpp \
                         ../../Classes/AppDelegate.cpp \
                         ../../Classes/HelloWorldScene.cpp \
                         ../../Classes/MenuScene.cpp
      LOCAL_CFLAGS     := -std=c++11
      LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes
      
      LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static
      LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static
      
      # LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static
      # LOCAL_WHOLE_STATIC_LIBRARIES += cocosbuilder_static
      # LOCAL_WHOLE_STATIC_LIBRARIES += spine_static
      # LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static
      # LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static
      # LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static
      
      
      include $(BUILD_SHARED_LIBRARY)
      
      $(call import-module,.)
      $(call import-module,audio/android)
      
      # $(call import-module,Box2D)
      # $(call import-module,editor-support/cocosbuilder)
      # $(call import-module,editor-support/spine)
      # $(call import-module,editor-support/cocostudio)
      # $(call import-module,network)
      # $(call import-module,extensions)
      

      【讨论】:

      • 我认为这是我已经使用的 android.mk 文件。也许你有其他想法?
      • 很抱歉这个想法。但是你可以尝试新建一个项目:cocos new MyGame -p com.yourcompany.mygame -l cpp -d yourdir,然后在新项目目录下运行如下命令:cocos run -p android。这可以帮助您检查 cocos2d-x 库的链接。
      猜你喜欢
      • 1970-01-01
      • 2013-05-04
      • 2016-05-25
      • 2015-02-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-31
      相关资源
      最近更新 更多