Страуструппа сел читать, потому, как сказали умные люди, что очень полезно)
Страуструп - это самая исчерпывающая и точная информация о C++, потому как от автора языка.
Но и никто не пишет так тяжело и непонятно как Страуструп.
Чтобы читать Страуструпа нужно, по крайней мере, иметь изрядный опыт программирования вообще.
я всё-таки попробую) под виндой я смог его проекты запускать, думаю и под ubuntu научусь...
Да вот и Ваша книга может поможет)
Пользователь решил продолжить мысль [time]12 Апрель 2015, 00:04:27[/time]:
Сами по себе примеры к книге ... даже самого Страуструпа - ценности не представляют, собраны они или разобраны...
Значит, если сели читать про C++, то нужно твёрдо разобраться что такое компиляция, линковка, как работает make, кто такие библиотеки и как указать с ними связывание...
и здесь Вы отчасти правы, но... Для начала я решил поучиться у Страуструппа, а потом, или по ходу углубляться в "компиляции и линковки", потому как одновременно всё не получается, нужно сосредотачиваться на том, что кажется более важным)
Пользователь решил продолжить мысль [time]12 Апрель 2015, 00:12:04[/time]:
и к стати, я уже, спасибо гуглу, дальше продвинулся, вопрос в том: зачем Ваш форум, если Вы не хотите помочь? Ведь с Вашей помощью я и подобные научились бы... И линковать и компилировать)
Пользователь решил продолжить мысль [time]12 Апрель 2015, 00:15:20[/time]:
вот я компилирую и линкую, без мэйка, но пока не всё удачно... Если можете помогите:
andreykapas@Andrew-pc:~/Strsustr/str12_3$ g++ chapter.12.3.cpp Simple_window.cpp Graph.cpp GUI.cpp Window.cpp -L/usr/loca/lib -lfltk -lXext -lX11 -lm -o mark.out
а ерор такой:
Graph.cpp:(.text+0x1c31): undefined reference to `Fl_JPEG_Image::Fl_JPEG_Image(char const*)'
Graph.cpp:(.text+0x1c6b): undefined reference to `Fl_GIF_Image::Fl_GIF_Image(char const*)'
collect2: error: ld returned 1 exit status
Пользователь решил продолжить мысль [time]12 Апрель 2015, 00:50:11[/time]:
и вот я сделал!)
всем, кто хочет учить Страуструппа на ubuntu, можно делать так:
в папку поместить файлы с сорса: Graph.cpp и .h, GUI.cpp и .h, Point.h, Simple_window.cpp и .h, Window.cpp и .h, сюда же файл .срр примера, std_lib_facilities.h - на уровень выше.
в Graph.cpp закоментить или удалить:
/*
Circle::Circle(Point p, int rr) // center and radius
:r(rr)
{
add(Point(p.x-r,p.y-r)); // store top-left corner
}
*/
в нём же, добавить:
#include <string.h>
иначе strlen не декларед в этом скоуп)))
в Simple_window.cpp добавить Graph_lib::
void Simple_window::cb_next(Graph_lib::Address, Graph_lib::Address pw)
// call Simple_window::next() for the window located at pw
{
Graph_lib::reference_to<Simple_window>(pw).next();
}
так же и в Simple_window.h:
#ifndef SIMPLE_WINDOW_GUARD
#define SIMPLE_WINDOW_GUARD 1
#include "GUI.h" // for Simple_window only (doesn't really belong in Window.h)
#include "Graph.h"
//using namespace Graph_lib;
//------------------------------------------------------------------------------
struct Simple_window : Graph_lib::Window {
Simple_window(Point xy, int w, int h, const string& title );
bool wait_for_button(); // simple event loop
private:
Graph_lib::Button next_button; // the "next" button
bool button_pushed; // implementation detail
static void cb_next(Graph_lib::Address, Graph_lib::Address); // callback for next_button
void next(); // action to be done when next_button is pressed
};
//------------------------------------------------------------------------------
#endif // SIMPLE_WINDOW_GUARD
далее в терминале перейти в созданную деррикторию, чтобы не прописывать путь полностью каждый раз и:
g++ [имя вашего файла экзампла].cpp Simple_window.cpp Graph.cpp GUI.cpp Window.cpp -L/usr/loca/lib -lfltk -lXext -lX11 -lfltk_images -lm -o mark.out
потом запускаем mark.out... и все счастливы!)))

Пользователь решил продолжить мысль 11 Апреля 2015, 23:51:37:
жаль не умею прикрепить скриншот(((