Ubuntu Eclipse SDL编程第一个工程

UFO SDL编程入门第一个工程
刚建立个工程,遇到了一个问题,就是SDL头文件和库路径的问题,总是提示找不到库,如图:

 

百度了很多种方法,都没能解决问题,很郁闷,最后在一篇安装SDL的文章中看到了,SDL里面有test程序,可以测试效果,于是乎我在test里面试了下例程,果然可以运行。既然它的可以运行,就一定有正确的路径设置。哈哈,解决问题的关键。下面请跟我一起来看看怎么解决(^水平有限啊,不足之处请多指正^)

 
现在这个问题解决了,希望能对大家有所帮助;
使用Eclipse编译环境,学习SDL编程,环境配置步骤
首先在程序里包含头文件
#include "SDL2/SDL.h"
#include "SDL2/SDL_image.h"
然后在工程配置里面设置头文件路径
Project->Properties->C/C++General->Paths and Symbols里面设置GUN C头文件路径
设置SDL库路径方法如下:
如果是手动源码安装的SDL,在SDL安装包下有一个test文件夹,进入test文件夹,运行./configure,然后make,之后你就会看到很多测试程序,这些都是可以直接运行的程序。
这一步有啥么用呢,别着急;
打开makefile文件,找到里面的路径,也就是我们编程要使用的路径
可以看到,头文件路径就是刚才上面的那个,LIBS表示库文件路径,可以看到有
-L/usr/local/lib -lSDL2
这个就是我们需要的,打开刚才工程配置Library Paths,Add输入usr/local/lib,如下图;
 
然后在打开Libraries,,Add输入SDL2,如下图;
SDL_image的头文件和库路径添加跟SDL基本库一样,都是在同一个地方,只是名称不同。添加好SDL基本库后,其他的
SDL_image,SDL_mixer,SDL_net,SDL_ttf都是依赖于基本SDL库的,所以路径是一样的。
配置好后,就可以build project了,然后run,就可以看到程序结果了,窗口名称叫hello,上图:
源码:
#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;
}
 
 
//UFO&ET原创,欢迎交流

转载于:https://www.cnblogs.com/UFOaddET/p/5856189.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值