Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
1455 / 792 / 257
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
1

Задача из книги "Програмирование - принципы и практика использования C++"

31.10.2011, 14:37. Показов 1609. Ответов 2
Метки нет (Все метки)

Кто читал ету книгу, помогите разобратся с задачей с 12 главы. Никак не могу скомпилировать простую программу.
Вот ее код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "Simple_window.h"
#include "Graph.h"
int main()
{
    using namespace Graph_lib;
    Point tl(100, 100);
    Simple_window win (tl, 600, 400, "Canvas");
    Polygon poly;
    poly.add(Point(300, 200));
    poly.add(Point(350, 100));
    poly.add(Point(400, 200));
    poly.set_color(Color::red);
    win.attach(poly);
    win.wait_for_button();
}
Библиотеку FLTK к компилятору подключил вроде правильно, дополнительные библиотеки добавил в линкер (сделал так как в книге описано). Вот такой код компилируется нормально:
C++
1
2
3
4
5
6
7
8
9
10
#include <FL/Fl.h>
#include <FL/Fl_Box.h>
#include <FL/Fl_Window.h>
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();
}
Файлы, по етой ссылке http://stroustrup.com/Programming/Graphics/ скачал все, и подключил к проекту. И все равно не компилируется. Компилятор какую та белиберду выкидывает:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1>------ Построение начато: проект: Graph, Конфигурация: Debug Win32 ------
1>Построение начато 31.10.2011 12:30:37.
1>InitializeBuildStatus:
1>  Обращение к "Debug\Graph.unsuccessfulbuild".
1>ClCompile:
1>  Для всех выходных данных обновления не требуется.
1>Debug\Graph.obj : warning LNK4042: объект указан более одного раза; лишние не учитываются
1>graph.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: void __thiscall Graph_lib::Polygon::add(struct Point)" (?add@Polygon@Graph_lib@@QAEXUPoint@@@Z) в функции _main
1>graph.obj : error LNK2001: неразрешенный внешний символ ""public: virtual void __thiscall Graph_lib::Shape::move(int,int)" (?move@Shape@Graph_lib@@UAEXHH@Z)"
1>graph.obj : error LNK2001: неразрешенный внешний символ ""public: virtual void __thiscall Graph_lib::Polygon::draw_lines(void)const " (?draw_lines@Polygon@Graph_lib@@UBEXXZ)"
1>graph.obj : error LNK2001: неразрешенный внешний символ ""public: virtual void __thiscall Graph_lib::Closed_polyline::draw_lines(void)const " (?draw_lines@Closed_polyline@Graph_lib@@UBEXXZ)"
1>graph.obj : error LNK2019: ссылка на неразрешенный внешний символ "protected: __thiscall Graph_lib::Shape::Shape(void)" (??0Shape@Graph_lib@@IAE@XZ) в функции "public: __thiscall Graph_lib::Open_polyline::Open_polyline(void)" (??0Open_polyline@Graph_lib@@QAE@XZ)
1>graph.obj : error LNK2001: неразрешенный внешний символ ""public: virtual void __thiscall Graph_lib::Open_polyline::draw_lines(void)const " (?draw_lines@Open_polyline@Graph_lib@@UBEXXZ)"
1>graph.obj : error LNK2001: неразрешенный внешний символ ""protected: virtual void __thiscall Graph_lib::Shape::draw_lines(void)const " (?draw_lines@Shape@Graph_lib@@MBEXXZ)"
1>Window.obj : error LNK2019: ссылка на неразрешенный внешний символ "public: void __thiscall Graph_lib::Shape::draw(void)const " (?draw@Shape@Graph_lib@@QBEXXZ) в функции "protected: virtual void __thiscall Graph_lib::Window::draw(void)" (?draw@Window@Graph_lib@@MAEXXZ)
1>C:\Documents and Settings\Юра\мои документы\visual studio 2010\Projects\Graph\Debug\Graph.exe : fatal error LNK1120: 8 неразрешенных внешних элементов
1>
1>СБОЙ построения.
1>
1>Затраченное время: 00:00:01.15
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.10.2011, 14:37
Ответы с готовыми решениями:

Страуструп, "Принципы и практика использования С++": задача на нахождение моды
Здравствуйте ,решаю упражнения из книги &quot;Страуструп принципы и практика использования c++&quot;,...

Стоит ли читать "Программирование. Принципы и практика использования C++" от Страуструпа
Доброго времени суток. Сейчас лето, сессия позади, но не хочется проводить время впустую, а...

Б. Страуструп "Программирование.Принципы и практика использования С++"
Домашнее задание из главы 3. Напишите программу, которая предлагает ввести три целых числа и...

книгa "Программирование: принципы и практика использования C++, исправленное издание, Бьярне Страуструп;
а в этой книги &quot;Программирование: принципы и практика использования C++, исправленное издание,...

2
Заблокирован
Автор FAQ
31.10.2011, 14:41 2
Цитата Сообщение от yuron_477 Посмотреть сообщение
Библиотеку FLTK к компилятору подключил вроде правильно, дополнительные библиотеки добавил в линкер (сделал так как в книге описано). Вот такой код компилируется нормально:
- думается мне что вот здесь

Цитата Сообщение от yuron_477 Посмотреть сообщение
#include <FL/Fl.h>
#include <FL/Fl_Box.h>
#include <FL/Fl_Window.h>
нехватает что то вроди
#pragma comment(lib,"FLTK.LIB") //Ну или какая там либа за FLTK отвечает - это уже вам видней
Такое компилятор выдаёт на объявленные но "безтельные" ввиду неподключённости либы функции
Цитата Сообщение от yuron_477 Посмотреть сообщение
@@QBEXXZ
0
8 / 8 / 5
Регистрация: 28.10.2012
Сообщений: 135
22.02.2016, 16:05 3
Также подключил FLTK 1.3.3
Скачал h-файлы http://www.stroustrup.com/Programming/Graphics/

Отдельно "fltk.h" взял отсюда (почему-то по ссылке выше его нет): http://www.stroustrup.com/Programming/PPP2code/

Код Страуструппа не запускается. Не видит класс Point, ошибки в Graph.h =(((
Миниатюры
Задача из книги "Програмирование - принципы и практика использования C++"  
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.02.2016, 16:05

Перевод старых команд с книги Бьерна Страуструпа Принципы и практика использования С++
#include “std_lib_facilities.h” следует заменить #include &lt;iostream&gt; Но следует заметить что они...

Обучение по книге Страуструпа "принципы и практика C++". Не выводится "Hello, World"
Ребят, помогите пожалуйста, пропал на первом же примере из книги, автор даёт код для вывода Hello...

Пример из книги Столяров "Програмирование на языке Assemblera NASM"
global _start section .bss array resb 256 ; массив размером 256 section .text ...

Принципы и практика использования C++
До этого изучал C# не слишком глубоко но ООП освоил.(С некоторыми оговорками, потому как серьёзные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru