create_func 问题

StaticLibrary : libcpufeatures.a
SharedLibrary : libcocos2dcpp.so
D:/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/…/lib/gcc/arm-linux-androideabi/4.6/…/…/…/…/arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/cocos2dcpp_shared///Classes/AppDelegate.o: in function MainMenuLayer::create():jni/…/…/Classes/MainMenuLayer.h:19: error: undefined reference to ‘MainMenuLayer::init()’
D:/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/…/lib/gcc/arm-linux-androideabi/4.6/…/…/…/…/arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/cocos2dcpp_shared///Classes/AppDelegate.o: in function MainMenuLayer::create():jni/…/…/Classes/MainMenuLayer.h:19: error: undefined reference to ‘vtable for MainMenuLayer’
collect2: ld returned 1 exit status
make: *** Error 1
/cygdrive/d/android-ndk-r9/build/core/build-binary.mk:533: recipe for target obj/local/armeabi/libcocos2dcpp.so' failed make: Leaving directory /cygdrive/d/cocos2d-x/cocos2d-x-2.2.1/cocos2d-x-2.2.1/projects/CPPSecondDemo/proj.android’

出错的是 CREATE_FUNC(MainMenuLayer); 这行

#include “cocos2d.h”

class MainMenuLayer : public cocos2d::CCLayer
{
public:
MainMenuLayer(void);
~MainMenuLayer(void);

// Here's a difference. Method 'init' in cocos2d-x returns bool, instead of returning 'id' in cocos2d-iphone
virtual bool init();   

// a selector callback
void menuExitCallback(CCObject* pSender);

void menuStartCallback(CCObject* pSender);

void menuVersionCallback(CCObject* pSender);

CREATE_FUNC(MainMenuLayer);

};

请问如何解决?

同样的文件 在 windows 上没问题。,在android 上报这个错误

能不能发一个demo上来。你可以放一个在github上然后给我们链接

— Begin quote from ____

引用楼主he4330937于2014-01-03 16:24发表的 CREATE_FUNC 问题 :
StaticLibrary : libcpufeatures.a
SharedLibrary : libcocos2dcpp.so
D:/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/…/lib/gcc/arm-linux-androideabi/4.6/…/…/…/…/arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/cocos2dcpp_shared///Classes/AppDelegate.o: in function MainMenuLayer::create():jni/…/…/Classes/MainMenuLayer.h:19: error: undefined reference to ‘MainMenuLayer::init()’
D:/android-ndk-r9/toolchains/arm-linux-androideabi-4.6/prebuilt/windows-x86_64/bin/…/lib/gcc/arm-linux-androideabi/4.6/…/…/…/…/arm-linux-androideabi/bin/ld.exe: ./obj/local/armeabi/objs/cocos2dcpp_shared///Classes/AppDelegate.o: in function MainMenuLayer::create():jni/…/…/Classes/MainMenuLayer.h:19: error: undefined reference to ‘vtable for MainMenuLayer’
collect2: ld returned 1 exit status
http://www.cocoachina.com/bbs/job.php?action=topost&tid=177925&pid=tpc

— End quote

我的也是,说什么cannot initialize object parameter of type cocos2d::ref*.照着人家一模一样的写,真是看脸…

我看教程做的一个游戏,在vs2013里能编译,导入到eclipse中也是 CREATE_FUNC(XXXX)这行提示错误,错误为undefined reference to XXXX::XXXX()

有这个构造函数啊,,

android.mk 文件里,没有配置对应的cpp文件吧
如 MainMenuLayer.cpp