1

SDL Framework を使用してアプリケーションをセットアップしましたが、エラーなく動作します。しかし、プログラムを開始しようとすると、単純な main メソッドに入る前であっても、すぐに終了します。ここにコード:

#include "CApp.h"
#include <iostream>

int main(int argc, char* argv[]) {
    std::cout << "Hello";  
    return 0;
}

SDL は SDLMain.m に独自のメイン関数を実装し、メイン関数を手動で開始することを知っています。メイン関数を実行する STLMain.m のコードを見つけたと思います (行 222ff):

/* Create SDLMain and make it the app delegate */
sdlMain = [[SDLMain alloc] init];
[NSApp setDelegate:sdlMain];

/* Start the main event loop */
[NSApp run];

ブレークポイントを設定し[NSApp run]て一歩進むと、プログラムが終了します。

4

1 に答える 1

3

SDLは、独自の実装を透過的に使用するために使用#defineしますmain。SDL ヘッダーを含めていないため、そのマクロはスコープにありません。に名前を変更するか、 などの SDL ヘッダーを含めるだけで機能するはずです。SDL_mainmainmainSDL_mainSDL.h

于 2013-08-09T06:06:54.603 に答える