Форум программистов, компьютерный форум CyberForum.ru

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

Восстановить пароль Регистрация
 
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
31.10.2011, 14:37     Задача из книги "Програмирование - принципы и практика использования C++" #1
Кто читал ету книгу, помогите разобратся с задачей с 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 ==========
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2011, 14:37     Задача из книги "Програмирование - принципы и практика использования C++"
Посмотрите здесь:

C++ книгa "Программирование: принципы и практика использования C++, исправленное издание, Бьярне Страуструп;
C++ Принципы и практика использования С++(графика)
Кто читал Бьярне Страуструп Программирование: принципы и практика использования C++, исправленное издание C++
C++ Бьярне Страуструп Программирование: принципы и практика использования C++ кто читал
C++ Программирование. Принципы и практика использования C++
Принципы и практика использования C++ C++
C++ Кто читал книгу Программирование.Принципы и практика использования c++
C++ Программка из 4 главы книги Страуструпа принципы и практика - не работает

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
31.10.2011, 14:41     Задача из книги "Програмирование - принципы и практика использования C++" #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
nofx
7 / 7 / 1
Регистрация: 28.10.2012
Сообщений: 86
Завершенные тесты: 1
22.02.2016, 16:05     Задача из книги "Програмирование - принципы и практика использования C++" #3
Также подключил FLTK 1.3.3
Скачал h-файлы http://www.stroustrup.com/Programming/Graphics/

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

Код Страуструппа не запускается. Не видит класс Point, ошибки в Graph.h =(((
Миниатюры
Задача из книги "Програмирование - принципы и практика использования C++"  
Yandex
Объявления
22.02.2016, 16:05     Задача из книги "Програмирование - принципы и практика использования C++"
Ответ Создать тему
Опции темы

Текущее время: 20:21. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru