如何链接gcc和SDL_image库?

时间:2015-09-08 23:29:35

标签: c gcc sdl sdl-image

我有以下脚本:

cd /home/user_name/site1.com
ln -s ../template/.htaccess .

成功编译以下源代码:

gcc -I /Library/Frameworks/SDL2.framework/Headers \
    -F /Library/Frameworks/ -framework SDL2 test.c

我的问题是如何使用添加的库SDL_image编译它?它会是这样的吗?

#include <SDL.h>
//#include "SDL_image.h"

int init();
int loadMedia();
void close();

SDL_Window* gWindow = NULL;
SDL_Surface* gScreenSurface = NULL;
SDL_Surface* gHelloWorld = NULL;

int init()
{
    int success = 1;

    if(SDL_Init(SDL_INIT_VIDEO) < 0)
    {
        printf("SDL could not initialize! SDL_Error: %s\n", SDL_GetError());
    }
}

int main(int argc, char* args[])
{
    return 0;
}

当我尝试这个时,我收到以下错误:

gcc -I /Library/Frameworks/SDL2.framework/Headers \
    -I /Library/Frameworks/SDL_image.framework/Headers \
    -F /Library/Frameworks/ -framework SDL2 test.c

1 个答案:

答案 0 :(得分:0)

你可以这样做:

  

gcc -L / libs / path -I / headers / path -lSDL2 -lSDL2_image

在这种情况下,请使用#include "..."包含SDL2标头。

如果您使用程序包管理器安装SDL2,则上一个命令将缩减为:

  

gcc -lSDL2 -lSDL2_image

因为编译器已知SDL2目录的路径。 在这种情况下,您应该使用#include <...>

您应该考虑为您的项目编写Makefile。随着项目的增长,编译会变得更容易。