Я пытаюсь заставить графические примеры работать из Принципов и практик Страуструпа ... C ++, но безрезультатно (пока). Я установил fltk-материал и знаю, что он работает нормально, поскольку мне удалось получить окно для отображения с помощью программы, предложенной в приложении к его книге:
#include <FL/Fl.H>
#include <FL/Fl_Box.H>
#include <FL/Fl_Window.H>
int main(){
Fl_Window window(200,200, "title here");
Fl_Box box(0,0,200,200,"Hey, hello wrld");
window.show();
return Fl::run();
}
Однако, попробовав свою собственную, используя его Simple_window.h (может быть найдено на его сайте) дает "ссылка на 'Window' неоднозначна", поскольку она уже находится в usr / include / X11 / Xh. Поэтому я попытался указать соответствующее пространство имен:
struct Simple_window : Graph_lib::Window { //Changed Window to inc. namespace
Simple_window(Point xy, int w, int h, const string& title );
bool wait_for_button(); // simple event loop
.
.
.
Но это дает мне еще несколько ошибок, которых я не понимаю:
$ clear; g++ -Wno-deprecated window.cpp -o holz
/tmp/ccIFivNg.o: In function `main':
window.cpp:(.text+0x64): undefined reference to `Simple_window::Simple_window(Point, int, int, String const&)'
/tmp/ccIFivNg.o: In function `Graph_lib::Window::~Window()':
window.cpp:(.text._ZN9Graph_lib6WindowD2Ev[_ZN9Graph_lib6WindowD5Ev]+0x14): undefined reference to `vtable for Graph_lib::Window'
и т. Д.
Я чувствую, что освоение графики будет долгим и трудным - _-