FLTK绘制pixmap给出了段错误

时间:2012-06-15 02:50:42

标签: c++ linux fltk

我正在尝试使用FLTK在C ++程序中绘制一个xpm文件。

这是代码

#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include "image.xpm"
#include <FL/Fl_Pixmap.H>
#include <FL/fl_draw.H>
#include <FL/Fl_Image.H>
int main(int argc, char ** argv)
{
  Fl_Window *window = new Fl_Window(800,650);
  Fl_Pixmap pix(XFACE);
  pix.draw(200,200);
  window->end();
  window->show(argc,argv);
  return Fl::run();
}

XFACE是“image.xpm”

中有效的xpm对象

但是我在pix.draw()行遇到了分段错误 是什么原因造成的?

2 个答案:

答案 0 :(得分:3)

/* Try this - this works for me, and I guess is what you meant! */

#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Box.H>
#include <FL/Fl_Pixmap.H>

#include "image.xpm"

int main(int argc, char ** argv)
{
    Fl_Window *window = new Fl_Window(800,650);
    Fl_Box *image_box = new Fl_Box(5, 5, 790, 640);
    Fl_Pixmap pix(XFACE);
    window->end();
    image_box->image(pix);
    window->show(argc,argv);
    return Fl::run();
}

/* end of file */

答案 1 :(得分:0)

老实说,这甚至看起来不像有效的fltk代码;你直接调用draw()方法,而在fltk中很少有效的AFAIK。

你可能想在他们的邮件列表上询问 - 他们非常敏感。

另外,你看过tarball的“test”文件夹中的pixmap demo - 看看它做了什么,然后复制它!