Форум программистов, компьютерный форум, киберфорум
Наши страницы
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.52/50: Рейтинг темы: голосов - 50, средняя оценка - 4.52
Vlad1988
0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 3
#1

Ошибка E2451 Undefined symbol

22.11.2010, 02:15. Просмотров 8997. Ответов 9
Метки нет (Все метки)

Начинаю учится в с++ Builder 6, компилирую программу:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <conio.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
        short x = 32767;
        cout << "x = " << x << endl;
        x++;
        cout << "x = " << x << endl;
        getch();
        return 0;
}
//---------------------------------------------------------------------------
Выдает ошибки:
[C++ Error] Unit1.cpp(13): E2451 Undefined symbol 'cout'
[C++ Error] Unit1.cpp(13): E2451 Undefined symbol 'endl'

Что мне нада сделать? Напишите плиз по подробней.

Незнаю че я нахимичил сейчас получаются ошибки:

[Linker Error] Unresolved external '__InitVCL' referenced from C:\PROGRAM FILES (X86)\BORLAND\CBUILDER6\LIB\CP32MTI.LIB|crtlvcl
[Linker Error] Unresolved external '__ExitVCL' referenced from C:\PROGRAM FILES (X86)\BORLAND\CBUILDER6\LIB\CP32MTI.LIB|crtlvcl
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2010, 02:15
Ответы с готовыми решениями:

Ошибка E2451 Undefined symbol 'Form4'
Добрый день, программисты. Я новичок в программировании и у меня возник такой...

E2451: Undefined symbol 'A'
void __fastcall TForm1::Button1Click(TObject *Sender) {...

E2451 undefined symbol
Помогите исправить ошибку строчка: void TForm1::compute(ang, scl, inv, flw)...

E2451 Undefined symbol
Unit2.cpp(45): E2451 Undefined symbol 'Memo1' Unit2.cpp(61): E2268 Call to...

E2451 Undefined symbol 'List'
Есть вот такой кусок кода и есть три ошибки с листами. Помогите или подскажите...

9
Sasha
4919 / 2384 / 529
Регистрация: 05.06.2008
Сообщений: 7,466
Записей в блоге: 3
22.11.2010, 09:32 #2
По ходу тут надо ещё библиотеку подключить

#include <iostream.h>

Добавлено через 11 минут
Цитата Сообщение от Sasha Посмотреть сообщение
По ходу тут надо ещё библиотеку подключить

#include <iostream.h>
Вернее не библиотеку, а заголовочный файл

#include <iostream.h>
0
Vlad1988
0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 3
22.11.2010, 21:36  [ТС] #3
Цитата Сообщение от Sasha Посмотреть сообщение
По ходу тут надо ещё библиотеку подключить

#include <iostream.h>

Добавлено через 11 минут


Вернее не библиотеку, а заголовочный файл

#include <iostream.h>
После подключения библиотеки выдает такие ошибки :

[Linker Error] Unresolved external '__InitVCL' referenced from C:\PROGRAM FILES (X86)\BORLAND\CBUILDER6\LIB\CP32MTI.LIB|crtlvcl
[Linker Error] Unresolved external '__ExitVCL' referenced from C:\PROGRAM FILES (X86)\BORLAND\CBUILDER6\LIB\CP32MTI.LIB|crtlvcl
0
smithy69
17 / 16 / 7
Регистрация: 06.11.2009
Сообщений: 167
22.11.2010, 22:33 #4
только что сделал такой же проект, как у тебя, всё работает. вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <conio.h>
#include <iostream.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
          short x = 32767;
        cout << "x = " << x << endl;
        x++;
        cout << "x = " << x << endl;
        getch();
        return 0;
}
//---------------------------------------------------------------------------
0
Vlad1988
0 / 0 / 0
Регистрация: 13.11.2010
Сообщений: 3
23.11.2010, 07:32  [ТС] #5
Цитата Сообщение от smithy69 Посмотреть сообщение
только что сделал такой же проект, как у тебя, всё работает. вот код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//---------------------------------------------------------------------------
 
#include <vcl.h>
#include <conio.h>
#include <iostream.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
int main(int argc, char* argv[])
{
          short x = 32767;
        cout << "x = " << x << endl;
        x++;
        cout << "x = " << x << endl;
        getch();
        return 0;
}
//---------------------------------------------------------------------------

спс огромное за помощь, я нашел свою ошибку благодаря Вам, я забыл включить библиотеку изза этого все проблемы=)
ЗЫ:Тему можна офф
0
System16v
3 / 3 / 1
Регистрация: 19.02.2014
Сообщений: 115
23.02.2015, 14:01 #6
Народ,подскажите начинающему. Начал изучать книгу С++,дошел до главы "Классы и объекты",в книге есть пример - вбил код в C++ Builder,но программа не компилируется,пишет три ошибки,подскажите что ему не нравится?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <iostream>
#include <cstdlib>
using std::cout;
using std::cin;
using std::endl;
 
class Gradebook
{
public:
        void displayMessage()
        {
                cout << "Welcome to the Grade Book!" << endl;
        }
};
        int main()
        {
                GradeBook myGradebook;
                myGradeBook.displayMessage();
                system("pause");
                return 0;
        }
1) Е2451 Undefined symbol 'GradeBook' 2) E2379 Statement missing ; 3) E2451 Undefined symbol 'myGradeBook' . 1) ошибка в строке 17ая 2) так же 17ая 3) 18ая
0
Sasha
4919 / 2384 / 529
Регистрация: 05.06.2008
Сообщений: 7,466
Записей в блоге: 3
23.02.2015, 14:11 #7
Цитата Сообщение от System16v Посмотреть сообщение
GradeBook
Класс называется Gradebook, а объект создаёшь с GradeBook. Регистр букв учитывай
0
System16v
3 / 3 / 1
Регистрация: 19.02.2014
Сообщений: 115
24.02.2015, 14:59 #8
Sasha, спасибо большое,ужас...надо ж было так протупить то... , исправил,запустилось

Добавлено через 23 часа 16 минут
Ну подскажите еще пожалуйста. Дошел до главы где класс представляется в раздельных файлах. С раздельным main запустилось,а с раздельным интерфейсом не могу запустить - сыпит кучу ошибок (одну и туже),перевести я ее перевел,но не пойму что мне сделать нужно,чтоб исправить её?
Файл GradeBook.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//---------------------------------------------------------------------------
 
 
#include <string>
#include "GradeBook.h"
 
using namespace std;
        GradeBook::GradeBook(string name)
        {
        setCourseName(name);
        }
        void GradeBook::setCourseName(string name)
        {
        courseName=name;
        }
        string GradeBook::getCourseName()
        {
                return courseName;
        }
        void GradeBook::displayMessage()
        {
        cout << "Welcome to the GradeBook for\n"<<getCourseName()<<"!"<<endl;
}
Файл GradeBook.h
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
//---------------------------------------------------------------------------
 
#include <iostream>
 
using namespace std;
 
class GradeBook
{
        public:
                GradeBook (string name)
                {
                        setCourseName (name);
                }
                void setCourseName (string name)
                {
                courseName = name;
                }
                string getCourseName()
                {
                return courseName;
                }
                void displayMessage()
                {
                cout << "Welcome to the Grade Book for\n" << getCourseName()<< "!"<<endl;
                }
                private:
                string courseName;
        };
Файл GradeBook1.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
#include <cstdlib>
#include <string>
#include "GradeBook.h"
 
using namespace std;
        int main()
{
        GradeBook gradeBook1 ("CS101 Introduction to C++ Programming");
        GradeBook gradeBook2 ("CS102 Data Structures in C++");
        cout << "gradeBook1 created for:" << gradeBook1.getCourseName()
        << "\ngradeBook2 created for:" << gradeBook2.getCourseName()<<endl;
        system("pause");
        return 0;
}
Выдает 4 ошибки, все в GradeBook.cpp, 9,13,17,21 строки соответственно
E2171 body has already been defined for function 'GradeBook::gradeBook(string)'
E2171 body has already been defined for function 'GradeBook::setCourseName(string)'
E2171 body has already been defined for function 'GradeBook::getCourseName()'
E2171 body has already been defined for function 'GradeBook::displayMessage()'
Добавлено через 1 час 21 минуту
Нашел тут ошибку,сам виноват,лажанул с GradeBook.h, исправил. Теперь другая печаль....Нажимаю запуск,ничего не происходит , такое ощущение что программа запустилась,но сразу закрылась,хотя пауза есть.Что может быть не так?Project->Compile Unit вызываю,вообще тишина,ни одну строчку не компилит,да что ж такое
0
Sasha
4919 / 2384 / 529
Регистрация: 05.06.2008
Сообщений: 7,466
Записей в блоге: 3
24.02.2015, 16:47 #9
а если вместо system("pause"); использовать getch() c conio.h
0
System16v
3 / 3 / 1
Регистрация: 19.02.2014
Сообщений: 115
25.02.2015, 13:55 #10
Sasha, Пробовал и гетч и cin.get,одно и тоже ,просто запускается и типа исчезает,я уж во все файлы запихивал,ничего не помогло.От чего это вообще такое?Ведь в предыдущей главе там таже прога ток с 2мя файлами и все работает,а в этой нифига . Project->Compile Unit кстати я ошибся,компилит все нормально,но вот результат не вижу

Добавлено через 1 час 50 минут
Попробуйте кто-нибудь запустить если не трудно,может у вас заработает?

1й файл - GradeBook.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <vcl.h>
#include <iostream>
#include <cstdlib>
#include <string>
 
using namespace std;
 
class GradeBook
{
        public:
                GradeBook(string);
                void setCourseName(string);
                string getCourseName();
                void displayMessage();
        private:
                string courseName;
        };
2й файл - GradeBook.cpp
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
#include <vcl.h>
#include <iostream>
#include <cstdlib>
#include <string>
#include <conio.h>
#include "GradeBook.h"
 
using namespace std;
        GradeBook::GradeBook(string name)
        {
        setCourseName(name);
        }
        void GradeBook::setCourseName(string name)
        {
        courseName=name;
        }
        string GradeBook::getCourseName()
        {
                return courseName;
        }
        void GradeBook::displayMessage()
        {
        cout << "Welcome to the GradeBook for\n"<<getCourseName()<<"!"<<endl;
        }
3й файл - GradeBook.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cstdlib>
#include <string>
#include <conio.h>
#include "GradeBook.h"
 
using namespace std;
        int main()
{
        GradeBook gradeBook1 ("CS101 Introduction to C++ Programming");
        GradeBook gradeBook2 ("CS102 Data Structures in C++");
        cout << "gradeBook1 created for:" << gradeBook1.getCourseName()
        << "\ngradeBook2 created for:" << gradeBook2.getCourseName()<<endl;
        system("pause");
        return 0;
}
Или все таки в коде где ошибка?Но все ж компилится...не видно ток результата

Добавлено через 19 часов 12 минут
Ужас...Запустил то наконец-то...В принципе я так и думал что в этом ошибка,только решения не знал,получилось методом тыка.Ошибка была в выполнении операций перед запуском кода. Сейчас когда ковырялся увидел,что при создании нового юнит файла в проекте,у него есть 2вкладки 1ая собственно для (не знаю как правильно назвать) для основного кода,а 2ая вкладка с пометкой *.h, вбил туда код определения фукнции,запускаю - опять горы ошибок.Но уже подумал что все же двигаюсь в правильном направлении...Начал тыкать дальше,пытаюсь сохранить - не получается,пишет нельзя юнит сохранить с расширением *.h,попробовал просто сохранить - смотрю он сам сохранил в 2 разных файла,один cpp другой h. Пробую запустить - и случилось чудо,все запустилось. Ужас какой...в билдире с ума сойти можно,пока допрешь как запускать правильно. Я так понял порядок действий такой - создать консольный проект - вбить код определения функции - добавить новый юнит - вбить код основной main - во вкладке .h вбить код определения класса - нажать сохранить оба файла (сохранятся в 3ех файлах) - запуск. В билдере еще нереально бесит сохранения...зачем он столько раз сохраняет?Запускаешь билдер - просит сохранить,нажимаешь новый файл - просит сохранить - выходишь опять просит сохранить хотя сохранял уже,просто такое впечатление что делает это по 50 раз одно и тоже с кучей файлов...Но зато хоть не такой капризный как С++ просто,почему-то в билдере допустим прога работает - вбиваешь тоже самое в С++ - сыпит кучу ошибок и не запускается.
0
25.02.2015, 13:55
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.02.2015, 13:55

E2451 Undefined symbol 'Edit1'
Не могу разобраться. В первый раз пишу программы на c++ Builder 6. Какой бы...

E2451 Undefined symbol 'PaintBox1'
Здравствуйте. Как можно использовать PaintBox вне событий? Лучше бы как лишние...

[C++ Error](248): E2451 Undefined symbol 'FFTPeacks'
Здравствуйте, пишу свой плеер с использованием bass.dll Завис на визуализации....


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru