如何在Ubuntu 12.10中的Netbeans 7.3中使用Stroustrup的图形库(Simple_window.h,Graph.h,...)?

时间:2013-03-21 21:29:07

标签: c++ netbeans-7 ubuntu-12.10 fltk

大家。我正在学习Bjarne Stroustrup的“使用C ++编程原理和实践”一书。我在Ubuntu 12.10中使用Netbeans 7.3。我想在本书的第12章中构建并运行这个简单的图形程序。程序是这样的:

#include "Simple_window.h" // get access to our window library
#include "Graph.h" // get access to our graphics library facilities

int main()  
{    
    using namespace Graph_lib; // our graphics facilities are in Graph_lib

    Point tl(100,100); // to become top left corner of window    
    Simple_window win(tl,600,400,"Canvas"); // make a simple window

    Polygon poly; // make a shape (a polygon)

    poly.add(Point(300,200)); // add a point    
    poly.add(Point(350,100)); // add another point    
    poly.add(Point(400,200)); // add a third point    
    poly.set_color(Color::red); // adjust properties of poly

    win.attach (poly); // connect poly to the window

    win.wait_for_button(); // give control to the display engine    
}

我无法建立这个程序2天。我将http://www.stroustrup.com/Programming/Graphics/中的所有图形库添加到了我的项目中。我还成功安装了FLTK-1.1.10并将其配置为Netbeans。关于FLTK的所有程序都在Netbeans中运行得非常好。但是,当构建和运行上面显示的程序时,会发生许多错误。错误是这样的:“未定义的引用...”。如何在Netbeans中解决这个问题?

错误发生如下:

g ++ -o dist / Debug / GNU-Linux-x86 / cppapplication_3 build / Debug / GNU-Linux-x86 / GUI.o build / Debug / GNU-Linux-x86 / Graph.o build / Debug / GNU-Linux -x86 / Simple_window.o build / Debug / GNU-Linux-x86 / Window.o build / Debug / GNU-Linux-x86 / main.o -L ../../ Downloads / fltk-1.1.10 / lib - lfltk -lfltk_forms -lfltk_gl -lfltk_images -lfltk_jpeg ../../Downloads/fltk-1.1.10/lib/libfltk.a(Fl_get_system_colors.o):在函数getsyscolor(char const*, char const*, char const*, char const*, void (*)(unsigned char, unsigned char, unsigned char))': Fl_get_system_colors.cxx:(.text+0x17): undefined reference to XGetDefault'中 Fl_get_system_colors.cxx :(。text + 0x38):未定义引用XParseColor' ../../Downloads/fltk-1.1.10/lib/libfltk.a(Fl_get_system_colors.o): In function fl_parse_color(char const *,unsigned char&amp ;, unsigned char&amp ;, unsigned char&)': Fl_get_system_colors.cxx :(。text + 0x2cd):对`XParseColor'的未定义引用......

2 个答案:

答案 0 :(得分:2)

您似乎需要指定要链接的X库:

 -lXext -lX11

答案 1 :(得分:-2)

如果您下载了FLTK 1.3.3,则包含的名称与以前的版本不同。因此,在Bjarne Stroustrup的书中的第1203页,关于如何安装fltk的教程已不再适用,因为它们已经发生了很大变化。这是一个关于如何为VS安装它以及如何在Win32项目中进行设置的教程。 http://www.c-jump.com/bcc/common/Talk2/Cxx/FltkInstallVC/FltkInstallVC.html 在fltk网站上,有一些教程(没有比Bjarne解释得好,但没关系)。