SDL_draw个轻量级SDL绘图函数库,用了画k线图之类比较合适。今天找了一个sample,倒腾半天终于运行起来了。
1.安装
从 下载。
解压到本地。
./configure
make
sudo make install
安装完成后,它的头文件SDL_draw还需要手动复制从include的文件夹中复制到/usr/include/SDL下,否则编译时还是找不到这个头文件
2.编译
安装完成后,就可以编译了。
编译命令:
g++ demo.cpp -o demo -lSDL_draw
示例程序如下:
来源:
http://www.itniwo.net/blog/v/171097.html- #include <stdlib.h>
- #include "SDL/SDL.h"
- #include "SDL/SDL_draw.h"
- lib
- 2
- int main(int argc, char *argv[])
- {
- SDL_Surface *screen;// 屏幕
- int width, height;
- Uint8 video_bpp;
- Uint32 videoflags;
- if ( SDL_Init(SDL_INIT_VIDEO) < 0 ) {
- fprintf(stderr, "SDL初始化失败。。。。 %s", SDL_GetError());
- exit(1);
- }
- atexit(SDL_Quit); //退出
- videoflags = SDL_SWSURFACE | SDL_ANYFORMAT;
- width = 640;
- height = 480;
- video_bpp = 0;
- /*Video mode activation*/
- screen = SDL_SetVideoMode(width, height, video_bpp, videoflags);
- if (!screen) {
- fprintf(stderr, "不能激活视频模式: %dx%d: %s\n",
- width, height, SDL_GetError());
- exit(2);
- }
- {
- Uint32 c_red = SDL_MapRGB(screen->format, 255,0,0);
- Draw_Circle(screen, 50,50, 50, c_red); // 画圆,圆心(50,50) 半径50
- Draw_Rect(screen, 500,400, 50,50, c_red);//画矩形
- SDL_UpdateRect(screen, 0, 0, 0, 0);//刷新屏幕
- //Wait 10 seconds
- SDL_Delay( 10000 );
- fprintf(stderr, "显示结束。。。。");
- return 0;
-
- }
- }
3.运行
编译出的demo,尝试直接运行。 ./demo
你会看到如下错误:
error while loading shared libraries: libSDL_draw-1.2.so.0: cannot open shared object file: No such file or directory
这说明系统找不到libSDL.
我们在安装第三方的lib的时候,是安装在/usr/local/lib下,默认是找的/usr/lib.所以找不到,这时就需要把我们的local目录加入进去。
在/etc/ld.so.conf中另其一行 加入/usr/local/lib
- /usr/local/lib
- include /etc/ld.so.conf.d/*.conf
运行 sudo ldconfig
只是sdl_draw就配置好了
现在运行程序,就成功了。
阅读(7993) | 评论(0) | 转发(1) |