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

Ошибки при компиляции - C++

Восстановить пароль Регистрация
 
vinipuh94
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 23
20.10.2013, 15:16     Ошибки при компиляции #1
Error 8 error LNK2001: unresolved external symbol "public: virtual void __thiscall Shape::Print(void)" (?Print@Shape@@UAEXXZ)
Error 6 error LNK2001: unresolved external symbol "public: virtual void __thiscall Shape::Draw(void)" (?Draw@Shape@@UAEXXZ)
Error 7 error LNK2001: unresolved external symbol "public: virtual double __thiscall Shape::Volume(void)" (?Volume@Shape@@UAENXZ)
Error 5 error LNK2001: unresolved external symbol "public: virtual double __thiscall Shape::Area(void)" (?Area@Shape@@UAENXZ)
Error 9 error LNK1120: 4 unresolved externals

Помогите плиз исправить ошибки!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.10.2013, 15:16     Ошибки при компиляции
Посмотрите здесь:

Ошибки при компиляции C++
C++ Ошибки при компиляции
C++ Ошибки при компиляции
Ошибки при компиляции C++
Ошибки при компиляции C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Саня gamer
96 / 70 / 1
Регистрация: 18.05.2011
Сообщений: 343
Записей в блоге: 1
20.10.2013, 15:19     Ошибки при компиляции #2
компоновщику укажите путь к .lib файлу
drevmix
3 / 3 / 0
Регистрация: 31.05.2013
Сообщений: 25
20.10.2013, 15:20     Ошибки при компиляции #3
Код в студию.
vinipuh94
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 23
20.10.2013, 15:27  [ТС]     Ошибки при компиляции #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <DXUTres.h> 
#include <stdafx.h>
#include <iostream>
#include <clocale>
#include <conio.h>
#include "shape.h"
 
using namespace std;
 
int main()
{
    
    setlocale(LC_ALL, "Russian");
    while(true)
    {
        cout<<"1. Square"<<endl;
        cout<<"2. Circle"<<endl;
        cout<<"3. Sylinder"<<endl<<endl;
        cout<<"Please, choose a figure: ";
        int choice;
        choice=getch();
        choice-=48;
        if(choice==1)
        {
                system("cls");
                cout<<"1. 2D"<<endl;
                cout<<"2. 3D"<<endl<<endl;
                cout<<"Please, choose measurement: ";
                int choiceTwo;
                choiceTwo=getch();
                choiceTwo-=48;
                if(choiceTwo==1)
                        {
                            int length;
                        Shape *fof;
                        fof = new SquareTwoD(length);
                        cout <<"Input length of a leg: ";
                        cin>>length;
                        
                        }
                        
                    if(choiceTwo==2)
                    {
 
                    }
                system("cls");
        }
                //cout<<endl;
                //system("pause");
            if(choice==2)
            {
 
            }
            if(choice==3)
            {
 
            }
        
        system("cls");
    }
    return 0;
}
Добавлено через 39 секунд
а вот заголовочный файл


C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
class Shape 
 {
    public:
        double virtual Area();
        void virtual Draw();
        double virtual Volume();
        void virtual Print();
 };
 
 class TwoDShape: public Shape
 {
 
 };
 
 class TreeDShape: public Shape
 {
 
 };
 
 class SquareTwoD: public TwoDShape
 {
     int len_;
     public:
     SquareTwoD (int len = 0) : len_(len) {}
 };
 
 //SqureTwoD::SqureTwoD(int len): TwoDShape()
 
 
 class CircleTwoD: public TwoDShape
 {
 
 };
 
 class CylinderTwoD: public TwoDShape
 {
 
 };
 
  class SquareTreeD: public TreeDShape
 {
 
 };
 
 class CircleTreeD: public TreeDShape
 {
 
 };
 
 class CylinderTreeD: public TreeDShape
 {
 
 };
 
[size="1"][color="grey"][I]Добавлено через 17 секунд[/I][/color][/size]
а вот заголовочный файл 
 
 
class Shape 
 {
    public:
        double virtual Area();
        void virtual Draw();
        double virtual Volume();
        void virtual Print();
 };
 
 class TwoDShape: public Shape
 {
 
 };
 
 class TreeDShape: public Shape
 {
 
 };
 
 class SquareTwoD: public TwoDShape
 {
     int len_;
     public:
     SquareTwoD (int len = 0) : len_(len) {}
 };
 
 //SqureTwoD::SqureTwoD(int len): TwoDShape()
 
 
 class CircleTwoD: public TwoDShape
 {
 
 };
 
 class CylinderTwoD: public TwoDShape
 {
 
 };
 
  class SquareTreeD: public TreeDShape
 {
 
 };
 
 class CircleTreeD: public TreeDShape
 {
 
 };
 
 class CylinderTreeD: public TreeDShape
 {
 
 };
Добавлено через 2 минуты
Цитата Сообщение от Саня gamer Посмотреть сообщение
компоновщику укажите путь к .lib файлу
А можете написать как это сделать, я просто новичок, буду очень благодарен. У меня Visual Studio 2010
Саня gamer
96 / 70 / 1
Регистрация: 18.05.2011
Сообщений: 343
Записей в блоге: 1
20.10.2013, 15:41     Ошибки при компиляции #5
заходим в меню Project - Properties. Заходим в раздел C/C++, находим пункт Additional Include Directories - это дополнительные папки, в которых Visual Studio будет искать заголовочные файлы (.h).
Теперь нужно еще указать, что необходимо линковать саму библиотеку .lib. Это делается в разделе Linker - Input, Additional Dependencies. В нем просто указываем имя либ-файла
vinipuh94
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 23
20.10.2013, 15:54  [ТС]     Ошибки при компиляции #6
Цитата Сообщение от Саня gamer Посмотреть сообщение
заходим в меню Project - Properties. Заходим в раздел C/C++, находим пункт Additional Include Directories - это дополнительные папки, в которых Visual Studio будет искать заголовочные файлы (.h).
Теперь нужно еще указать, что необходимо линковать саму библиотеку .lib. Это делается в разделе Linker - Input, Additional Dependencies. В нем просто указываем имя либ-файла
Я не совсем понял, что мне нужно сделать в Additional Include Directories. Она пуста. Как указать имя либ-файла и и какой вообще либ-файл нужно подключать, какое название? Сори, за то что задаю возможно глупые вопросы!)
Саня gamer
96 / 70 / 1
Регистрация: 18.05.2011
Сообщений: 343
Записей в блоге: 1
20.10.2013, 15:59     Ошибки при компиляции #7
Цитата Сообщение от vinipuh94 Посмотреть сообщение
а вот заголовочный файл
если есть заголовочный файл то должно быть одно из двух:
-реализация (.срр)
-библиотека (. lib или .а)
заголовочный файл откуда?
vinipuh94
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 23
20.10.2013, 16:09  [ТС]     Ошибки при компиляции #8
Цитата Сообщение от Саня gamer Посмотреть сообщение
если есть заголовочный файл то должно быть одно из двух:
-реализация (.срр)
-библиотека (. lib или .а)
заголовочный файл откуда?
У меня заголовочный файл "shape.h". Можете мне по полочкам разложить что куда записать и т.д. Я уже чувствую себя таким нубом)
Nekto
342 / 287 / 10
Регистрация: 23.03.2012
Сообщений: 838
20.10.2013, 16:13     Ошибки при компиляции #9
Виртуальные методы реализовать надо.
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
20.10.2013, 16:33     Ошибки при компиляции #10
Цитата Сообщение от vinipuh94 Посмотреть сообщение
У меня заголовочный файл "shape.h"
C++
1
2
3
4
double virtual Area();
void virtual Draw();
double virtual Volume();
void virtual Print();
Методы объявлены, а где реализации?

Добавлено через 2 минуты
Вот так, хотя бы, напишите, будет комплироваться:
C++
1
2
3
4
5
6
7
8
class Shape 
{
    public:
     virtual double  Area(){}
     virtual void Draw(){}
     virtual double Volume(){}
     virtual void Print(){}
};
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.10.2013, 17:00     Ошибки при компиляции
Еще ссылки по теме:

Ошибки при компиляции C++
C++ Ошибки при компиляции
Ошибки при компиляции C++

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

Или воспользуйтесь поиском по форуму:
vinipuh94
0 / 0 / 0
Регистрация: 20.10.2013
Сообщений: 23
20.10.2013, 17:00  [ТС]     Ошибки при компиляции #11
Цитата Сообщение от alsav22 Посмотреть сообщение
C++
1
2
3
4
double virtual Area();
void virtual Draw();
double virtual Volume();
void virtual Print();
Методы объявлены, а где реализации?

Добавлено через 2 минуты
Вот так, хотя бы, напишите, будет комплироваться:
C++
1
2
3
4
5
6
7
8
class Shape 
{
    public:
     virtual double  Area(){}
     virtual void Draw(){}
     virtual double Volume(){}
     virtual void Print(){}
};
Вроде сработало, всё компилится, но консольку так начинает кидать бесконечно, что мне приходиться перезагружать комп. Я думал я сойду с ума. Она то появляется, то пропадает и всё это происходит очень быстро
Yandex
Объявления
20.10.2013, 17:00     Ошибки при компиляции
Ответ Создать тему
Опции темы

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