码迷,mamicode.com
首页 > 其他好文 > 详细

SDL开发环境的搭建

时间:2016-01-02 18:19:36      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:

    SDL(Simple DirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码 就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。

技术分享

一、win7平台

使用的开发工具是vs2013。

技术分享

下载得到SDL2-devel-2.0.3-VC.zip,解压:

技术分享

 

在include下是SDL的头文件,在lib/x86下是用于32位平台的SDL动态库和静态库,这里我们只使用x86平台的库文件。

  • 新建控制台工程

打开VC++
文件->新建->项目->Win32控制台应用程序

  • 拷贝SDL开发文件

头文件(*.h)拷贝至项目文件夹的include子文件夹下
导入库文件(*.lib)拷贝至项目文件夹的lib子文件夹下,如下图:

技术分享
动态库文件(*.dll)拷贝至C:\Windows\system下

技术分享

  • 配置开发文件

打开属性面板
解决方案资源管理器->右键单击项目->属性

    • 头文件配置

配置属性->C/C++->常规->附加包含目录,输入“include”(刚才拷贝文件的目录)

    • 导入库配置

配置属性->链接器->常规->附加库目录,输入“lib” (刚才拷贝文件的目录)
配置属性->链接器->输入->附加依赖项,输入“SDL2.lib; SDL2main.lib; SDL2test.lib”(导入库的文件名)
动态库不用配置

  • 测试
    • 创建源代码文件

在工程中创建一个包含main()函数的C/C++文件(如果已经有了可以跳过这一步),后续步骤在该文件中编写源代码。

    • 包含头文件

如果是C语言中使用SDL,则直接使用下面代码
#include "SDL.h"
如果是C++语言中使用SDL,则使用下面代码

extern "C"
{
#include "SDL2/SDL.h"
}
    • 测试程序

例如下面代码初始化了SDL

int main(int argc, char* argv[]){
    if(SDL_Init(SDL_INIT_VIDEO)) {
        printf( "Could not initialize SDL - %s\n", SDL_GetError());
    } else {
        printf("Success init SDL");
    }
    return 0;
}

运行结果:

技术分享

 

二、Ubuntu14.04

技术分享

解压,执行如下命令

tar -xf SDL2-2.0.3.tar.gz
mkdir build
cd build
../SDL2-2.0.3/configure
make
sudo make install

默认会把编译生成的头文件、静态库和动态库存放到/usr/local/include/和/usr/local/lib下,也可以在configure的时候将--prefix设置为/usr/。

如果安装到了/usr/local下,需要设置LD_LIBRARY_PATH,可以将下面的命令添加到.bashrc中:

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
  • 测试

Makefile

INC=-I/usr/local/include
LIB_DIR=-L/usr/local/lib

LIB=-lSDL2

demo:demo.o
    gcc  $^ -o $@ $(INC) $(LIB_DIR) $(LIB)

demo.o:demo.c

clean:
    rm *.o demo

demo.c

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

int main(int argc, const char *argv[])
{
    if (SDL_Init(SDL_INIT_VIDEO)) {
        printf("Could not initialize SDL - %s\n", SDL_GetError());
    }
    else{
        printf("Success init SDL\n");
    }

    return 0;
}

执行:

root@ubuntu:~/study/video/sdl/demo# ./demo 
Success init SDL

 

完。

SDL开发环境的搭建

标签:

原文地址:http://www.cnblogs.com/pengdonglin137/p/5094883.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!