菜鸟教程小白 发表于 2022-12-12 09:37:30

ios - SDL 和 iOS main() 方法冲突


                                            <p><p>我了解到 SDL 项目需要 main() 方法来运行循环,代码如下:</p>

<pre><code>#include &#34;SDL.h&#34;

int main(int argc, char *argv[])
{
    if (SDL_Init(SDL_INIT_VIDEO) &lt; 0) {
      printf(&#34;%s\n&#34;, SDL_GetError());
    }

    SDL_Window *window = SDL_CreateWindow(NULL, 0, 0, 320, 640, SDL_WINDOW_OPENGL | SDL_WINDOW_FULLSCREEN);
    SDL_Renderer *renderer = SDL_CreateRenderer(window, 0, 0);

    SDL_Surface *bmp_surface = SDL_LoadBMP(&#34;space.bmp&#34;);
    SDL_Texture *space = SDL_CreateTextureFromSurface(renderer, bmp_surface);
    SDL_FreeSurface(bmp_surface);

    SDL_RenderCopy(renderer, space, NULL, NULL);
    SDL_RenderPresent(renderer);

    int done = 0;
    while (!done) {
      Uint32 startFrame = SDL_GetTicks();
      SDL_Event event;
      while (SDL_PollEvent(&amp;event)) {
            if (event.type == SDL_QUIT) {
                done = 1;
            }
      }
      Uint32 endFrame = SDL_GetTicks();

      Sint32 delay = MILLESECONDS_PER_FRAME - (endFrame - startFrame);
      if (delay &lt; 0) {
            delay = 0;
      } else if (delay &gt; MILLESECONDS_PER_FRAME) {
            delay = MILLESECONDS_PER_FRAME;
      }
      SDL_Delay(delay);
    }

    SDL_DestroyTexture(space);
    SDL_Quit();

    return 0;
}
</code></pre>

<p>而iOS项目也需要main()方法,代码如下:</p>

<pre><code>#import &lt;UIKit/UIKit.h&gt;

#import &#34;AppDelegate.h&#34;

int main(int argc, char * argv[])
{
    @autoreleasepool {
      return UIApplicationMain(argc, argv, nil, NSStringFromClass());
    }
}
</code></pre>

<p>现在我需要将 SDL 库集成到 iOS 项目中,但需要两个 main() 方法。如何?如果是,有人可以显示更多代码吗?谢谢。</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>你需要获取 SDLMain.m 和 SDLMain.h</p>

<p>在此处了解更多信息 - <a href="http://beefchunk.com/documentation/lib/libSDL/faq/FAQ-MacOSX.html" rel="noreferrer noopener nofollow">http://beefchunk.com/documentation/lib/libSDL/faq/FAQ-MacOSX.html</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - SDL 和 iOS main() 方法冲突,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/23452160/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/23452160/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - SDL 和 iOS main() 方法冲突