如何在GNU Octave 3.8中加载FLTK图形工具包?

3
我已经在一台机器上安装了GNU Octave 3.6.4和3.8.1版本(OpenSUSE Linux 13.1,x86-64)。版本3.6.4是开箱即用的,版本3.8.1是我自己从源代码构建的(configure-make-make install)。
在Octave-3.6.4中,我的输出如下:
octave-3.6.4> available_graphics_toolkits
ans = 
{
  [1,1] = fltk
  [1,2] = gnuplot
}
octave-3.6.4> loaded_graphics_toolkits
ans = 
{
  [1,1] = fltk
}

在Octave-3.8.1中,我只有gnuplot:

octave-3.8.1> available_graphics_toolkits
ans = 
{
  [1,1] = gnuplot
}
octave-3.8.1> loaded_graphics_toolkits
ans = 
{
  [1,1] = gnuplot
}

如何加载FLTK图形工具包? 我尝试了这样:

octave-3.8.1> register_graphics_toolkit("fltk")
octave-3.8.1> available_graphics_toolkits
ans = 
{
  [1,1] = fltk
  [1,2] = gnuplot
}
octave-3.8.1> graphics_toolkit("fltk")
error: __init_fltk__: not available without OpenGL and FLTK libraries
error: called from:
error:   /usr/local/share/octave/3.8.1/m/plot/util/graphics_toolkit.m at line 74, column 5

为什么FLTK在octave-3.6.4中可以正常加载,但在octave-3.8.1中无法加载?如何将octave-3.8.1连接到OpenGL和FLTK库?


我怀疑您在Octave 3.8编译过程中错过了一些库(例如FLTK)。 - juliohm
@juliohm,你是对的。我缺少了一些软件包,需要更加注意./configure的输出。现在没问题了。 - northewind
我一直想知道为什么Octave的人不静态链接FLTK...这会让人们免受所有头疼之苦。 - DejanLekic
2个回答

1
如果您执行此操作,会看到什么?
octave_config_info().GRAPHICS_LIBS

在你的3.8.1版本中?它应该返回类似以下内容:
ans = -lfltk_gl -lfltk -lX11

如果没有找到您的fltk dev libs,那么配置就无法找到它们。请查看config.log以了解原因。很可能是因为您还没有安装它们。

你说得对。我漏掉了一些包,需要更加注意 ./configure 的输出。现在没问题了。ans = -L/usr/lib64 -lfltk_gl -lGL -lfltk - northewind

0

如果您想使用最新稳定版本的Octave,请使用科学库,或查看Octave维基页面中的详细信息。这些软件包默认使用FLTK。在自己构建的情况下,请注意,您可能会失去一些功能。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接