Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.99/364: Рейтинг темы: голосов - 364, средняя оценка - 4.99
 Аватар для stawerfar
150 / 64 / 8
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1

error LNK1120: 2 неразрешенных внешних элементов

24.03.2012, 19:24. Показов 68889. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
В чем может быть проблема и как её устранить!
пишет вот так
C++
1
2
3
Ошибка    3   error LNK1120: 2 неразрешенных внешних элементов   D:\Project_VS_2010\C++\garbage\encryption\Debug\encryption.exe  encryption
Ошибка    2   error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall text::text(void)" (??0text@@QAE@XZ) в функции _main D:\Project_VS_2010\C++\garbage\encryption\encryption\_main.obj  encryption
Ошибка    1   error LNK2019: ссылка на неразрешенный внешний символ "public: virtual __thiscall text::~text(void)" (??1text@@UAE@XZ) в функции _main    D:\Project_VS_2010\C++\garbage\encryption\encryption\_main.obj  encryption
Я пишу много файловую прогу в main объявил заголовочник класса #include"text.h"
в этом файле все необходимые библиотеки плюс описания класса "text". Есть ещё файл описания методов класса "text" записанный в text.cpp, в нем тоже #include"text.h"!
В чём может быть проблема подскажите, если нужно могу выложить код!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.03.2012, 19:24
Ответы с готовыми решениями:

Error LNK1120: неразрешенных внешних элементов: 1
Подскажите где ошибка??? //файл sourse.h #include <iostream> using namespace std; template <class T> T ABS(T...

error LNK1120: 1 неразрешенных внешних элементов
/*Person.h*/ class Person { char Name; char FatherName; char SurName; int Byyyy; int Bmm; int Bdd; ...

Error LNK1120: неразрешенных внешних элементов: 1
#include <iostream> #include <fstream> #include <locale.h> #include <stdlib.h> #include <conio.h> using namespace std; void...

12
Модератор
Эксперт С++
 Аватар для zss
13765 / 10960 / 6489
Регистрация: 18.12.2011
Сообщений: 29,233
24.03.2012, 19:47
В text.h объявлен конструктор
text();
и деструктор
~text();
однако их реализация в text.cpp отсутствует.
1
 Аватар для stawerfar
150 / 64 / 8
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
24.03.2012, 19:49  [ТС]
Цитата Сообщение от zss Посмотреть сообщение
однако их реализация в text.cpp отсутствует
text.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
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
112
113
114
115
#include "text.h"
 
//------------------------------------------------------------------------------------------------------------------
//инициализация статических полей
std::fstream text::sfile;
std::string text::staticline;
std::string text::statickey;
std::string text::staticresultline;
//------------------------------------------------------------------------------------------------------------------
//конструктрор без параметров
text::text(void)
{}
 
//------------------------------------------------------------------------------------------------------------------
//конструктор с 2-мя параметрами
text::text(const char*const cchcaddress,const char*const cchckey)
{
    text::updata(cchcaddress,cchckey);//вызов метода для инициализации полей
}
 
//------------------------------------------------------------------------------------------------------------------
//виртуальный диструктор
text::~text(void)
{
    if(sfile)//если поток незакрыт закрываем его
    {sfile.close();}
}
 
//------------------------------------------------------------------------------------------------------------------
//инициализация полей
void text:: updata(const char*const cchcaddress,const char*const cchckey)
{
    //отрыть поток если он небыл уже открыт до этого
    if(!sfile)
    sfile.open(cchcaddress,std::ios::in);
    //если не удалось отркрыть поток
    if(!sfile)
    {
        //смена кодировки для вывода Русского языка в консоли
        setlocale(LC_ALL,"Russian_Russia.1251");
        //если badbit или faibit
        if(sfile.bad())
        {
            std::cerr<<"Невозможно открыть файл!";
            std::cerr<<"Неисправимая ошибка!\n";
            system("pause");//даём возможность взглянуть на сообщение
            setlocale(LC_ALL,"Russian_Russia.866");//возврат к стандартной кодировке
            exit(-1);
        }
        else if(sfile.fail())
        {
            std::cerr<<"Невозможно открыть файл!";
            std::cerr<<"Файл либо не существует либо не правильно указан путь к файлу!\n";
            system("pause");//пауза
            setlocale(LC_ALL,"Russian_Russia.866");//возврат к стандартной кодировке
            exit(-1);
        }
 
    }
    sfile.close();//закрываем поток для перезадачи атрибутов открытия
    sfile.open(cchcaddress,std::ios::in|std::ios::out|std::ios::binary);
    char ch;//для временного хранения символов
    sfile.get(ch);//задаем первое значение символа
    while(sfile)//продолжать пока не дойдём до конца файла
    {
        staticline+=ch;//добовляем посимвольно значения из файла в поле 
        sfile.get(ch);
    }
    //запись текста из файла в поле класса
    statickey=cchckey;//копирование ключа
 
}
 
//------------------------------------------------------------------------------------------------------------------
//статический метод для записи на диск
int text::write(void)
{
    if(!sfile)//если поток не открыт ничего не предпринемаем
    {   
        setlocale(LC_ALL,"Russian_Russia.1251");
        std::cerr<<"Провал записи!Закрыт поток\n";
        setlocale(LC_ALL,"Russian_Russia.866");
        return 1;
    }
    sfile<<staticresultline<<std::endl;//запись в файл
    return 0;
}
 
//------------------------------------------------------------------------------------------------------------------
//статический метод для чтения с диска
int text::read(void)
{
    if(!sfile)//если поток не открыт то ничего не предпринемаем
    {   
        setlocale(LC_ALL,"Russian_Russia.1251");
        std::cerr<<"Провал записи!Закрыт поток\n";
        setlocale(LC_ALL,"Russian_Russia.866");
        return 1;
    }
    char ch;//для временного хранения символов
    sfile.get(ch);//задаем первое значение символа
    while(sfile)//продолжать пока не дойдём до конца файла
    {
        staticline+=ch;//добовляем посимвольно значения из файла в поле 
        sfile.get(ch);
    }
    return 0;
}
//------------------------------------------------------------------------------------------------------------------
//фиктивная зашифровать разшифровать
int text:: unstencry(void)
{return 1;}
 
void text:: show(void)
{std::cout<<staticline<<statickey<<staticresultline<<std::endl;}
0
 Аватар для igorrr37
2869 / 2016 / 991
Регистрация: 21.12.2010
Сообщений: 3,720
Записей в блоге: 15
24.03.2012, 19:59
вместо text.h в main приинклудь text.cpp
1
 Аватар для stawerfar
150 / 64 / 8
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
24.03.2012, 20:01  [ТС]
Цитата Сообщение от igorrr37 Посмотреть сообщение
вместо text.h в main приинклудь text.cpp
Нет не катет ещё больше и другого рода стало ошибок писать!
C++
1
2
3
4
5
6
7
8
9
10
Ошибка    10  error LNK1169: обнаружен многократно определенный символ - один или более D:\Project_VS_2010\C++\garbage\ecryption\Debug\ecryption.exe    1   1   ecryption
Ошибка    7   error LNK2005: "public: static class std::basic_fstream<char,struct std::char_traits<char> > text::sfile" (?sfile@text@@2V?$basic_fstream@DU?$char_traits@D@std@@@std@@A) уже определен в text.obj D:\Project_VS_2010\C++\garbage\ecryption\ecryption\main3.obj    ecryption
Ошибка    6   error LNK2005: "public: static class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > text::statickey" (?statickey@text@@2V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A) уже определен в text.obj   D:\Project_VS_2010\C++\garbage\ecryption\ecryption\main3.obj    ecryption
Ошибка    8   error LNK2005: "public: static class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > text::staticline" (?staticline@text@@2V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A) уже определен в text.obj D:\Project_VS_2010\C++\garbage\ecryption\ecryption\main3.obj    ecryption
Ошибка    9   error LNK2005: "public: static class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > text::staticresultline" (?staticresultline@text@@2V?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@A) уже определен в text.obj D:\Project_VS_2010\C++\garbage\ecryption\ecryption\main3.obj    ecryption
Ошибка    1   error LNK2005: "public: static void __cdecl text::updata(char const * const,char const * const)" (?updata@text@@SAXQBD0@Z) уже определен в text.obj    D:\Project_VS_2010\C++\garbage\ecryption\ecryption\main3.obj    ecryption
Ошибка    3   error LNK2005: "public: virtual int __thiscall text::read(void)" (?read@text@@UAEHXZ) уже определен в text.obj D:\Project_VS_2010\C++\garbage\ecryption\ecryption\main3.obj    ecryption
Ошибка    4   error LNK2005: "public: virtual int __thiscall text::unstencry(void)" (?unstencry@text@@UAEHXZ) уже определен в text.obj   D:\Project_VS_2010\C++\garbage\ecryption\ecryption\main3.obj    ecryption
Ошибка    2   error LNK2005: "public: virtual int __thiscall text::write(void)" (?write@text@@UAEHXZ) уже определен в text.obj   D:\Project_VS_2010\C++\garbage\ecryption\ecryption\main3.obj    ecryption
Ошибка    5   error LNK2005: "public: void __thiscall text::show(void)" (?show@text@@QAEXXZ) уже определен в text.obj    D:\Project_VS_2010\C++\garbage\ecryption\ecryption\main3.obj    ecryption
0
Модератор
Эксперт С++
 Аватар для zss
13765 / 10960 / 6489
Регистрация: 18.12.2011
Сообщений: 29,233
24.03.2012, 20:01
Цитата Сообщение от igorrr37 Посмотреть сообщение
вместо text.h в main приинклудь text.cpp
Нужно просто text.cpp добавить в проект.
Приинллюдить его считается дурным тоном.
3
 Аватар для stawerfar
150 / 64 / 8
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
24.03.2012, 20:05  [ТС]
Да всё я изначально прикрепил куда следует, я даже пересоздавал проект и копировал заново текст файлов ошибка остается.
Миниатюры
error LNK1120: 2 неразрешенных внешних элементов  
0
Модератор
Эксперт С++
 Аватар для zss
13765 / 10960 / 6489
Регистрация: 18.12.2011
Сообщений: 29,233
24.03.2012, 20:07
А ничего, что он в списке файлов ресурсов, а не в списке файлов исходного кода?

Добавлено через 1 минуту
Выложите text.h тоже
1
 Аватар для stawerfar
150 / 64 / 8
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
24.03.2012, 20:09  [ТС]
Разницы нет, я так и так пробовал. Тем более что я создавал класс конструктором, в этом случае MSStudio само создает и ставит куда следует.

Добавлено через 1 минуту
text.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
29
30
31
32
#pragma once
//объявления
#include<fstream>
#include<iostream>
#include<string>
#include<typeinfo>
//базовый класс текст
class text
{
    //protected:
    public:
        static std::fstream sfile;//указатель на поток
        static std::string staticline;//исходный текст
        static std::string statickey;//ключ
        static std::string staticresultline;//зашифрованый текст
        //конструктрор без параметров
        text(void);
        //конструктор с 2-мя параметрами
        text(const char*const,const char*const);
        //виртуальный диструктор
        virtual ~text(void);
        //статический метод инициализация полей
        static void updata(const char*const,const char*const);
        //запись на диск
        virtual int write(void);
        //чтение с диска
        virtual int read(void);
        //фиктивная зашифровать разшифровать
        virtual int unstencry(void);//=0;
        void show(void);
 
};
0
Модератор
Эксперт С++
 Аватар для zss
13765 / 10960 / 6489
Регистрация: 18.12.2011
Сообщений: 29,233
24.03.2012, 20:15
У меня в VS 2008 собирается без ошибок.
Попробуйте в text.h объявить их так
C++
1
2
    text(){}
            ~text(){}
Добавлено через 34 секунды
А из text.cpp выкинуть
1
 Аватар для stawerfar
150 / 64 / 8
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
24.03.2012, 20:18  [ТС]
Да помогло!!! Спасибо большое!!! А объяснить сможешь почему так произошло что бы в будущем избегать подобного?
0
Модератор
Эксперт С++
 Аватар для zss
13765 / 10960 / 6489
Регистрация: 18.12.2011
Сообщений: 29,233
24.03.2012, 20:26
Цитата Сообщение от stawerfar Посмотреть сообщение
А объяснить сможешь почему так произошло что бы в будущем избегать подобного?
Не могу, у меня компилируется изначальный код.
Какой-то глюк в Вашем компиляторе.
А идея возникла так: описать отсутствующие функции как можно раньше.
1
 Аватар для stawerfar
150 / 64 / 8
Регистрация: 14.12.2010
Сообщений: 347
Записей в блоге: 1
24.03.2012, 20:28  [ТС]
В любом случае спасибо! Вроде нелепость а пол дня потерял!!!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.03.2012, 20:28
Помогаю со студенческими работами здесь

Error LNK1120: неразрешенных внешних элементов: 2
Доброго времени суток. Не могу понять в чем ошибка. Подскажите, пожалуйста. Задание: Программно реализовать следующие методы сортировки...

Ошибка С++: error LNK1120: неразрешенных внешних элементов: 2
Ошибка 3 error LNK1120: неразрешенных внешних элементов: 2 c:\users\felix cukerman\documents\visual studio...

Fatal error LNK1120: неразрешенных внешних элементов: 11
Добрый вечер, нужно написать программу, которая бы запускала виртуальную машину(WMware), делала снэпшот и откатывала до предыдущего...

Fatal error LNK1120: 2 неразрешенных внешних элементов
привет всем , столкнулся с такой проблемой , 1&gt;main.obj : error LNK2001: неразрешенный внешний символ...

Fatal error LNK1120: неразрешенных внешних элементов: 3
Не могу понять почему компилятор выдает ошибку: Source.obj : error LNK2019: ссылка на неразрешенный внешний символ &quot;public:...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
PowerShell Snippets
iNNOKENTIY21 11.11.2025
Модуль PowerShell 5. 1+ : Snippets. psm1 У меня модуль расположен в пользовательской папке модулей, по умолчанию: \Documents\WindowsPowerShell\Modules\Snippets\ А в самом низу файла-профиля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru