Вопрос по c++, user-interface – Беда с Полигоном в книге ГЧП Страуструпа

2

Я читаю Принципы и практику программирования с использованием C ++, СтрауструпаКнига В главе 12 и на странице 441 есть этот код:

//
// This is example code from Chapter 12.3 "A first example" of
// "Programming -- Principles and Practice Using C++" by Bjarne Stroustrup
//

#include "Simple_window.h"    // get access to our window library
#include "Graph.h"            // get access to our graphics library facilities

//------------------------------------------------------------------------------

int main()
{
    using namespace Graph_lib;   // our graphics facilities are in Graph_lib

    Point tl(100,100);           // to become top left  corner of window

    Simple_window win(tl,600,400,"Canvas");    // make a simple window

    Polygon poly;                // make a shape (a polygon)

    poly.add(Point(300,200));    // add a point
    poly.add(Point(350,100));    // add another point
    poly.add(Point(400,200));    // add a third point 

    poly.set_color(Color::red);  // adjust properties of poly

    win.attach (poly);           // connect poly to the window

    win.wait_for_button();       // give control to the display engine
}

//------------------------------------------------------------------------------

Когда я запускаю код, я получаю 13 ошибок, из которых должны бытьмногоугольник идентификатор. Например, первая ошибка:Ошибка C2872: 'Полигон» : неоднозначный символ

Почему мой компилятор нене знаю, чтомногоугольник пожалуйста?

@abbasi: это означает, что либо у вас нетт реализованоGraph_lib::Window::draw(), или ты'не связываться с файлом или библиотекой, содержащей реализацию. Mike Seymour
У вас есть заголовок (.h) файлы? Peter Bloomfield
Где определяется полигон? У меня нет этой книги. drescherjm
@Mike: я использовалGraph_lib :: Polygon но получил 11 разных ошибок. Первая ошибка заключается в следующем: Ошибка LNK2001: неразрешенный внешний символ "protected: virtual void __thiscall Graph_lib :: Window :: draw (void) " (? draw @ Window @ Graph_lib @@ MAEXXZ) C: \ Users \ CS \ Documents \ visual studio 2012 \ Проекты \ testv \ testv \ testv.obj abbasi

Ваш Ответ

1   ответ
1

Graph_lib::Polygon poly;
Кажется, что компоновщик не видит библиотеку Graph, где есть определения функций. Вы должны быть уверены, что вы правильно указали пути к библиотекам в вашем проекте. Vlad from Moscow
Я думаю, что кроме заголовков должны быть некоторые библиотечные файлы, которые содержат определения. Вы должны сказать компоновщику, где их искать. Vlad from Moscow
Вам необходимо прочитать инструкцию по установке FLTK для данного компилятора. Vlad from Moscow
Что каждый человек делает с заголовочными файлами, так это добавляет их ввключают каталог и после этого компилятор (здесь Visual Studio) читает их. И это именно то, что я сделал, то есть я добавилGraph.h Заголовок ввключают каталог. И я неНе знаю другого способа указания компилятору путей заголовочных файлов. Теперь у меня есть мысль создать файл заголовкаGraph.h»s код и заменить его предыдущимgraph.h заголовочный файл ввключают каталог. Согласен? abbasi

Похожие вопросы