红联Linux门户
Linux帮助

Ubuntu Eclipse SDL编程第一个工程

发布时间:2016-09-10 10:52:12来源:cnblogs.com/UFOaddET/作者:UFO&ET
UFO SDL编程入门第一个工程。
刚建立个工程,遇到了一个问题,就是SDL头文件和库路径的问题,总是提示找不到库,如图:
Ubuntu Eclipse SDL编程第一个工程
 
搜索了很多种方法,都没能解决问题,最后在一篇安装SDL的文章中看到了,SDL里面有test程序,可以测试效果,于是乎我在test里面试了下例程,果然可以运行。既然它的可以运行,就一定有正确的路径设置。解决问题的关键。下面请跟我一起来看看怎么解决(水平有限啊,不足之处请多指正。)
Ubuntu Eclipse SDL编程第一个工程
 
现在这个问题解决了,希望能对大家有所帮助;
使用Eclipse编译环境,学习SDL编程,环境配置步骤
首先在程序里包含头文件
#include "SDL2/SDL.h"
#include "SDL2/SDL_image.h"
然后在工程配置里面设置头文件路径
Project->Properties->C/C++General->Paths and Symbols里面设置GUN C头文件路径
Ubuntu Eclipse SDL编程第一个工程
 
设置SDL库路径方法如下:
如果是手动源码安装的SDL,在SDL安装包下有一个test文件夹,进入test文件夹,运行./configure,然后make,之后你就会看到很多测试程序,这些都是可以直接运行的程序。
Ubuntu Eclipse SDL编程第一个工程
这一步有啥么用呢,别着急;
打开makefile文件,找到里面的路径,也就是我们编程要使用的路径
Ubuntu Eclipse SDL编程第一个工程
可以看到,头文件路径就是刚才上面的那个,LIBS表示库文件路径,可以看到有
-L/usr/local/lib -lSDL2
这个就是我们需要的,打开刚才工程配置Library Paths,Add输入usr/local/lib,如下图;
Ubuntu Eclipse SDL编程第一个工程
 
然后在打开Libraries,,Add输入SDL2,如下图;
Ubuntu Eclipse SDL编程第一个工程
SDL_image的头文件和库路径添加跟SDL基本库一样,都是在同一个地方,只是名称不同。添加好SDL基本库后,其他的
SDL_image,SDL_mixer,SDL_net,SDL_ttf都是依赖于基本SDL库的,所以路径是一样的。
配置好后,就可以build project了,然后run,就可以看到程序结果了,窗口名称叫hello,上图:
Ubuntu Eclipse SDL编程第一个工程
 
源码:
#include <stdlib.h>
#include "SDL2/SDL.h"
#include "SDL2/SDL_image.h"
int main(int argc,char *argv[])
{
SDL_Window* window =0;
SDL_Renderer* render=0;
SDL_Texture *texture=0;
SDL_Rect src,dst;
int width,height;
SDL_Init(SDL_INIT_EVERYTHING);
window=SDL_CreateWindow("hello",SDL_WINDOWPOS_CENTERED,
SDL_WINDOWPOS_CENTERED,1366,768,SDL_WINDOW_SHOWN);
render=SDL_CreateRenderer(window,-1,0);
texture=IMG_LoadTexture(render,"tux.jpg");
SDL_QueryTexture(texture,NULL,NULL,&width,&height);
src.x=src.y=0;
src.w=width;
src.h=height;
dst.x=30;
dst.y=20;
dst.w=width;
dst.h=height;
SDL_SetRenderDrawColor(render,0,0,0,255);
SDL_RenderClear(render);
SDL_RenderCopy(render,texture,&src,&dst);
SDL_RenderPresent(render);
SDL_Delay(30000);
SDL_DestroyWindow(window);
SDL_DestroyRenderer(render);
SDL_Quit();
return 0;
}
 
本文永久更新地址:http://www.linuxdiyf.com/linux/24037.html