Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
AVATAR
8 / 8 / 6
Регистрация: 27.07.2014
Сообщений: 266
#1

Fatal error LNK1169: обнаружен многократно определенный символ - один или более - C++

03.10.2014, 13:07. Просмотров 1574. Ответов 6
Метки нет (Все метки)

При компиляции возникает ошибка:

1>Исходный код.obj : error LNK2005: "public: __thiscall Dates::~Dates(void)" (??1Dates@@QAE@XZ) уже определен в metods.obj
1>Исходный код.obj : error LNK2005: "public: void __thiscall Dates::show(void)" (?show@Dates@@QAEXXZ) уже определен в metods.obj
1>C:\Users\Documents\My_programm\Классы, конструкторы\Debug\Классы, конструкторы.exe : fatal error LNK1169: обнаружен многократно определенный символ - один или более
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Подскажите пожалуйста, в чем ошибка ?)

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//header.h
#pragma once
#include<time.h>
#include<iostream>
using namespace std;
class Dates
{
private:
    int days;
    int months;
    int years;
 
public:
    Dates(void);
    ~Dates(void);
    void show();
};
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//Date.cpp
#include "Date.h"
 
Dates::Dates(void)
{
    tm mt;
    days=mt.tm_mday;
    months=mt.tm_mon;
    years=mt.tm_year;
}
 
Dates::~Dates(void)
{
 
}
 
void Dates::show()
    {
        cout<<days<<endl<<months<<endl<<years<<endl;
 
    }
C++
1
2
3
4
5
6
7
8
9
#include "metods.cpp"
 
void main(void)
    {
        Dates a;
        a.show();
        system("pause");
        
    }

http://www.cyberforum.ru/cpp-beginners/thread513515.html
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.10.2014, 13:07
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Fatal error LNK1169: обнаружен многократно определенный символ - один или более (C++):

fatal error LNK1169: обнаружен многократно определенный символ - один или более
Искала в интернете решение этой проблемы, находила похожие, но не помогло...

Fatal error LNK1169: обнаружен многократно определенный символ - один или более
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;climits&gt; using...

Fatal error LNK1169: обнаружен многократно определенный символ - один или более
Добрый день, подскажите пожалуйста как исправить ошибку? Есть заголовочный...

LNK1169: обнаружен многократно определенный символ - один или более
Всем привет. Кто знает, из-за чего может быть такая ошибка? Main: #include...

Ошибка линковки файлов при компиляции: "fatal error LNK1169: обнаружен многократно определенный символ"
Visual C++ 2008 Express Edition ошибка Компиляция... 1.cpp...

6
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
03.10.2014, 13:12 #2
Цитата Сообщение от AVATAR Посмотреть сообщение
#include "metods.cpp"
Так не нужно делать. И где, кстати, этот файл?
1
AVATAR
8 / 8 / 6
Регистрация: 27.07.2014
Сообщений: 266
03.10.2014, 13:19  [ТС] #3
нее, это я менял, думал из за имени, не помогло. Сейчас так:

C++
1
2
3
4
5
6
7
8
9
#include "Date.cpp"
 
void main(void)
    {
        Dates a;
        a.show();
        system("pause");
        
    }
Ошибка таже. Или имеется ввиду вообще подключать не надо ?) файл там же, где и исходинк
0
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
03.10.2014, 13:21 #4
Цитата Сообщение от AVATAR Посмотреть сообщение
#include "Date.cpp"
Не нужно .cpp файлы подключать, достаточно добавить .cpp файл в проект. Хедеры нужно подключать.
1
AVATAR
8 / 8 / 6
Регистрация: 27.07.2014
Сообщений: 266
03.10.2014, 13:26  [ТС] #5
Разобрался, спасибо! Можете подсказать, почему возникает ошибка там, при присвоение текущего времени

C++
1
2
3
4
5
6
7
Dates::Dates(void)
{
    tm mt;
    days=mt.tm_mday; // вот здесь как будто левое значение присваивается, хотя вроде как должно текущее время получить
    months=mt.tm_mon;
    years=mt.tm_year;
}
0
alsav22
5438 / 4833 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
03.10.2014, 13:52 #6
Лучший ответ Сообщение было отмечено AVATAR как решение

Решение

Цитата Сообщение от AVATAR Посмотреть сообщение
Можете подсказать, почему возникает ошибка там, при присвоение текущего времени
Компилятор же пишет:
warning C4700: использована неинициализированная локальная переменная "mt"
Добавлено через 9 минут
C++
1
2
3
4
5
6
7
8
9
Dates::Dates(void)
{
    time_t rawtime;
    time(&rawtime);
    tm* mt = localtime(&rawtime);
    days=mt ->tm_mday;
    months=mt ->tm_mon;
    years=mt ->tm_year;
}
1
AVATAR
8 / 8 / 6
Регистрация: 27.07.2014
Сообщений: 266
03.10.2014, 16:39  [ТС] #7
Разобрался, спасибо!)
0
03.10.2014, 16:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.10.2014, 16:39
Привет! Вот еще темы с решениями:

Обнаружен многократно определенный символ - один или более
Здравствуйте. Выскакивает ошибка: error LNK1169: обнаружен многократно...

Обнаружен многократно определенный символ - один или более Visual Studio
Добрый день! Смотрите) Есть заголовочный файл, который по сути пустой using...

Ошибка компоновки "LNK1169: обнаружен многократно определенный символ"
Привет, народ! Уже очень долго не могу разобраться со следующей проблемой, есть...

обнаружен многократно определенный символ
Добрый вечер. Никак не могу избавится от такой ошибки. Она возникает, как...


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

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

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