如何在MAC中的/ Library / Framework文件夹中包含C中的文件

我正在尝试使用SDL.我在/ Library / Frameworks中有一个名为SDL2.framework的文件夹.我想在我的项目中包含文件SDL.h.我该怎么做呢?我的代码看起来像:

// Example program:
// Using SDL2 to create an application window

#include <SDL.h>
#include <stdio.h>

int main(int argc, char* argv[]) {
    SDL_Window *window;                    // Declare a pointer
    SDL_Init(SDL_INIT_VIDEO);              // Initialize SDL2
    // Create an application window with the following settings:
    window = SDL_CreateWindow(
        "An SDL2 window",                  // window title
        SDL_WINDOWPOS_UNDEFINED,           // initial x position
        SDL_WINDOWPOS_UNDEFINED,           // initial y position
        640,                               // width, in pixels
        480,                               // height, in pixels
        SDL_WINDOW_OPENGL                  // flags - see below
    );
    // Check that the window was successfully made
    if (window == NULL) {
        // In the event that the window could not be made...
        printf("Could not create window: %s\n", SDL_GetError());
        return 1;
    }
    // The window is open: enter program loop (see SDL_PollEvent)
    SDL_Delay(3000);  // Pause execution for 3000 milliseconds, for example
    // Close and destroy the window
    SDL_DestroyWindow(window);
    // Clean up
    SDL_Quit();
    return 0;
}

我得到的错误是:

Aarons-MacBook-Air:SDL aaron$g++ main.cpp
main.cpp:4:10: fatal error: 'SDL.h' file not found
#include <SDL.h>
          ^ 1 error generated.

如何正确包含SDL文件?它位于SDL2.framework,headers,SDL.h …

解决方法:

你会想要为此制作一个构建脚本,但重要的部分是:

-I /usr/local/include或安装标头的位置.

我用家酿:

brew安装sdl2

将库放在/usr/local/Cellar /

因此,如果您需要指定lib路径,您还将添加:

-L /usr/local/lib -lSDL2

我还将您的包含行更改为#include< SDL2 / SDL.h>

上一篇:c-使GLEW在Code :: Blocks中进行编译


下一篇:c-内联调用always_inline’__m128i _mm_cvtepu8_epi32(__ m128i)’失败:目标特定选项不匹配_mm_cvtepu8_epi32(__m128i __X)