FLTK draw pixmap显示故障 我试图用C++语言在FC++程序中画一个XPM文件。

FLTK draw pixmap显示故障 我试图用C++语言在FC++程序中画一个XPM文件。,c++,linux,fltk,C++,Linux,Fltk,这是密码 #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

这是密码

#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();
}
#包括
#包括
#包括“image.xpm”
#包括
#包括
#包括
int main(int argc,字符**argv)
{
Fl_窗口*窗口=新Fl_窗口(800650);
Fl_Pixmap pix(XFACE);
pix.draw(200200);
窗口->结束();
窗口->显示(argc、argv);
返回Fl::run();
}
XFACE是“image.xpm”中的有效xpm对象

但是我在pix.draw()线上遇到了一个分段错误。

是什么导致了这种情况?

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

你可能想在他们的邮件列表上询问一下——他们很有反应


另外,您是否查看了tarball“test”文件夹中的pixmap演示-查看它的功能,然后复制它

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

/* 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 */
你可能想在他们的邮件列表上询问一下——他们很有反应

另外,您是否查看了tarball“test”文件夹中的pixmap演示-查看它的功能,然后复制它

/*试试这个-这对我很有用,我想这就是你的意思*/
/* 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 */
#包括 #包括 #包括 #包括 #包括“image.xpm” int main(int argc,字符**argv) { Fl_窗口*窗口=新Fl_窗口(800650); Fl_盒*图像_盒=新的Fl_盒(5,5790640); Fl_Pixmap pix(XFACE); 窗口->结束(); 图像盒->图像(pix); 窗口->显示(argc、argv); 返回Fl::run(); } /*文件结束*/
/*试试这个-这对我来说很有用,我猜这就是你的意思*/
#包括
#包括
#包括
#包括
#包括“image.xpm”
int main(int argc,字符**argv)
{
Fl_窗口*窗口=新Fl_窗口(800650);
Fl_盒*图像_盒=新的Fl_盒(5,5790640);
Fl_Pixmap pix(XFACE);
窗口->结束();
图像盒->图像(pix);
窗口->显示(argc、argv);
返回Fl::run();
}
/*文件结束*/

一切都好吗?没有什么?老实说,现在还不可能回答你的问题。至少编辑您的问题,使其包含
XPM
,或者至少包含
XPM
的开头和结尾。请编写SSCCE(),或者至少在包含完整错误输出的某个位置进行web粘贴。。。我的第一个猜测是-您要么没有有效的FLTK上下文,因此Fl_Pixmap不知道将其自身呈现到何处,要么XPM无效…一切?没有什么?老实说,现在还不可能回答你的问题。至少编辑您的问题,使其包含
XPM
,或者至少包含
XPM
的开头和结尾。请编写SSCCE(),或者至少在包含完整错误输出的某个位置进行web粘贴。。。我的第一个猜测是-您可能没有有效的FLTK上下文,因此Fl_Pixmap不知道将自身呈现到何处,或者XPM无效。。。