Estoy trabajando a través de los Principios y Prácticas de Stroustrup usando C ++. Estoy tratando de obtener el siguiente progtwig para comstackr.
#include #include #include int main() { Fl_Window window(200, 200, "Window title"); Fl_Box box(0,0,200,200,"Hey, I mean, Hello, World!"); window.show(); return Fl::run(); }
Intenté comstackrlo con g++ -std=c++11 trial.cpp -o trial
pero luego arrojé el siguiente error
/tmp/ccaLRS7L.o: In function `main': trial.cpp:(.text+0x26): undefined reference to `Fl_Window::Fl_Window(int, int, char const*)' trial.cpp:(.text+0x50): undefined reference to `Fl_Box::Fl_Box(int, int, int, int, char const*)' trial.cpp:(.text+0x5f): undefined reference to `Fl_Window::show()' trial.cpp:(.text+0x64): undefined reference to `Fl::run()' trial.cpp:(.text+0x84): undefined reference to `Fl_Window::~Fl_Window()' trial.cpp:(.text+0xae): undefined reference to `Fl_Window::~Fl_Window()' /tmp/ccaLRS7L.o: In function `Fl_Box::~Fl_Box()': trial.cpp:(.text._ZN6Fl_BoxD2Ev[_ZN6Fl_BoxD5Ev]+0x13): undefined reference to `vtable for Fl_Box' trial.cpp:(.text._ZN6Fl_BoxD2Ev[_ZN6Fl_BoxD5Ev]+0x1f): undefined reference to `Fl_Widget::~Fl_Widget()' collect2: error: ld returned 1 exit status
Instalé la versión 1.3 de FLTK desde el terminal. Estoy ejecutando Linux mint 17 en mi computadora. ¿Cómo compilo este código?
Tienes que vincularlo con las bibliotecas:
g++ -std=c++11 trial.cpp -lfltk -o trial
Para su código, esta biblioteca es suficiente, pero dependiendo de las clases que use, es posible que necesite agregar: -lfltk_forms -lfltk_gl -lfltk_images
también.
También puedes usar fltk-config
como se menciona aquí :
g++ -std=c++11 `fltk-config --cxxflags` trial.cpp `fltk-config --ldflags` -o trial
Nota: es importante tener los parámetros de enlace (-l) después de los archivos de código (cpp e incluye), de lo contrario, obtendrá errores de comstackción.