2011-07-15 8 views
1

私はCocos2dをWindowsベースのアプリケーションに統合しました。私のプロジェクトを実行すると、行を実行した後にクラッシュが発生するCC_DIRECTOR_INIT();エラーは** sharedlibrary ** apply-load-rules all 警告:現在の言語はこのフレームと一致しません。 現在の言語:自動;現在、客観的に - c ****。私はエラー形式の意味をこのPOSTで見つけました。しかし、私の質問は私がどのように私のプロジェクトでこれを実装できるかです。私はcocos2-dの新人です。どんな提案も感謝しています。sharedlibrary apply-load-rules all警告:現在の言語がこのフレームと一致しません。現在の言語:auto;現在objective-c

- (void) applicationDidFinishLaunching:(UIApplication*)application 
{ 
    CC_DIRECTOR_INIT(); 
    CCDirector *director = [CCDirector sharedDirector]; 
    [director setDeviceOrientation:kCCDeviceOrientationPortrait]; 
    [director setDisplayFPS:YES]; 
    EAGLView *view = [director openGLView]; 
    [view setMultipleTouchEnabled:YES]; 
    [CCTexture2D setDefaultAlphaPixelFormat:kTexture2DPixelFormat_RGBA8888];  
    [[CCDirector sharedDirector] runWithScene: [Helloworld scene]]; 
} 

これは、クラッシュが発生したスクリーンショットです... This is the screenshot of where the crash occurs.

EDIT: MYコンソール出力...

#0 0x0002e60f in -[CCLabelAtlas updateAtlasValues] (self=0x68224c0, _cmd=0xc0be2) at CCLabelAtlas.m:75 
#1 0x0002e994 in -[CCLabelAtlas setString:] (self=0x68224c0, _cmd=0x310f12c, newString=0xf3b98) at CCLabelAtlas.m:113 
#2 0x0002e49c in -[CCLabelAtlas initWithString:charMapFile:itemWidth:itemHeight:startCharMap:] (self=0x68224c0, _cmd=0xb8d31, theString=0xf3b98, charmapfile=0xf3b88, w=16, h=24, c=46 '.') at CCLabelAtlas.m:50 
#3 0x0002e380 in +[CCLabelAtlas labelAtlasWithString:charMapFile:itemWidth:itemHeight:startCharMap:] (self=0xf1ebc, _cmd=0xb6fd5, string=0xf3b98, charmapfile=0xf3b88, w=16, h=24, c=46 '.') at CCLabelAtlas.m:40 
#4 0x0001268a in -[CCDirector setGLDefaultValues] (self=0x681c300, _cmd=0xb6b3d) at CCDirector.m:219 
#5 0x0001406d in -[CCDirector setOpenGLView:] (self=0x681c300, _cmd=0xb6a18, view=0x681c850) at CCDirector.m:549 
#6 0x00002e58 in -[cocowindowAppDelegate applicationDidFinishLaunching:] (self=0x681abe0, _cmd=0xd050a3, application=0x68016f0) at cocowindowAppDelegate.m:32 
#7 0x00912ce2 in -[UIApplication _callInitializationDelegatesForURL:payload:suspended:]() 
#8 0x00914d88 in -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:]() 
#9 0x0091f617 in -[UIApplication handleEvent:withNewEvent:]() 
#10 0x00917abf in -[UIApplication sendEvent:]() 
#11 0x0091cf2e in _UIApplicationHandleEvent() 
#12 0x02e61992 in PurpleEventCallback() 
#13 0x01403944 in __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE1_PERFORM_FUNCTION__() 
#14 0x01363cf7 in __CFRunLoopDoSource1() 
#15 0x01360f83 in __CFRunLoopRun() 
#16 0x01360840 in CFRunLoopRunSpecific() 
#17 0x01360761 in CFRunLoopRunInMode() 
#18 0x009147d2 in -[UIApplication _run]() 
#19 0x00920c93 in UIApplicationMain() 
#20 0x00002b39 in main (argc=1, argv=0xbfffeff0) at main.m:14 
(gdb) 
+0

友人このリンクからこの質問への回答が見つかりました.http://www.cocos2d-iphone.org/forum/topic/8209 ... xoebusのおかげで:) – Aravindhan

答えて

1

EXC_ARITHMETICは通常、あなたがゼロ除算されることを意味します。あなたのスクリーンショットを見ると、あなたは評価している:

int row = (a % itemsPerRow) //... 

を、それがitemsPerRowのように見えるあなたのデバッガの出力から、これが原因とされるので、プログラムがクラッシュしたとき0です。この値を初期化したり、0で分割するのを止めるためにゼロを意味する場合は、条件コードを設定してみてください。

警告メッセージWarning: the current language does not match this frame.は、デバッグしようとしている言語について少し混乱しています。ご覧のように、次の行で自分自身を並べ替えることができます。

編集:

このポスターはあなたに同様のエラーがあります:http://www.cocos2d-iphone.org/forum/topic/8209彼の修正があなたに適用されますか?

+0

:しかし、このコードはcocos2dライブラリです。どのように私はこれを変更できますか? – Aravindhan

+0

@Kattu今見てみましょうが、このメソッドが呼び出される前に設定されていたはずの値のように見えます。これは、おそらく設定者またはクラスのコンストラクタによって行うことができます。 – xoebus

+0

私はすべてをチェックしました。 CC_DIRECTOR_INIT();実行する最初の方法です。 – Aravindhan

関連する問題