Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/34: Рейтинг темы: голосов - 34, средняя оценка - 5.00
 Аватар для demidrolll
133 / 132 / 60
Регистрация: 10.12.2008
Сообщений: 286

fatal error LNK1169: one or more multiply defined symbols found

13.04.2010, 00:38. Показов 7228. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Среда Visual Studio 2008, приложение CLR->Windows Form Application. Вот имеется форма:
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
#pragma once
#include <windows.h>
#include <process.h>
#include "Form2.h"
#include "mediashop.h"
 
using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;
 
 
namespace Shop {
 
    /// <summary>
    /// Summary for Form3
    ///
    /// </summary>
    public ref class Form3 : public System::Windows::Forms::Form
    {
    public:
        Form3(void)
        {
            InitializeComponent();
            //
            //TODO: Add the constructor code here
            //
        }
 
    protected:
        /// <summary>
        /// Clean up any resources being used.
        /// </summary>
        ~Form3()
        {
            if (components)
            {
                delete components;
            }
        }
    private: System::Windows::Forms::MenuStrip^  menuStrip1;
    protected: 
    private: System::Windows::Forms::ToolStripMenuItem^  файлToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  создатьToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  открытьToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  сохранитьToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  сохранитьКакToolStripMenuItem;
    private: System::Windows::Forms::ToolStripSeparator^  toolStripSeparator1;
    private: System::Windows::Forms::ToolStripMenuItem^  выходToolStripMenuItem;
    private: System::Windows::Forms::ToolStripMenuItem^  редактироватьToolStripMenuItem;
 
    private:
        /// <summary>
        /// Required designer variable.
        /// </summary>
        System::ComponentModel::Container ^components;
 
#pragma region Windows Form Designer generated code
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        void InitializeComponent(void)
        {
            // Инициализация компонентов формы...
        }
#pragma endregion
    private: System::Void Form3_Load(System::Object^  sender, System::EventArgs^  e) {
                 Form2 ^f2 = gcnew Form2();
                 f2->ShowDialog();
 
                 mediashop obj;
             }
    };
}
Имеется файл mediashop.h. Вот его содержание:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
//
// Класс "Магазин"
//
class mediashop
{
    char *title;
public:
    mediashop();
};
 
mediashop::mediashop()
{
}
Я создаю в событии формы объект obj моего класса mediashop
C++
1
mediashop obj;
При компиляции возникают ошибки
  1. Error 1 error LNK2005: "public: __clrcall mediashop::mediashop(void)" (??0mediashop@@$$FQAM@XZ) already defined in Form3.obj
  2. Error 2 fatal error LNK1169: one or more multiply defined symbols found F:\VC_Project\Shop\Debug\Shop.exe
По видимому нужно что-то где-то дописать, или подключать модуль по другому, не знаю...
Прошу Вашей помощи.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.04.2010, 00:38
Ответы с готовыми решениями:

fatal error LNK1169: one or more multiply defined symbols found
В общем, тема в следующем. Пишу прогу а-ля картотека (2 курс, классический курсовой по C++). Столкнулся вот со следующей ошибкой: error...

fatal error LNK1169: one or more multiply defined symbols found
Доброго всем времени суток! Никак не могу разобраться в чём дело... Помогите пожалуйста! stdafx.h #pragma once #include...

Fatal error LNK1169: one or more multiply defined symbols found
вроде прога работала, но сейчас выдает ошибку и все тут D:\VS 10\kurs\Debug\kurs.exe : fatal error LNK1169: one or more multiply defined...

3
 Аватар для HIMen
4340 / 1509 / 101
Регистрация: 12.04.2009
Сообщений: 2,342
13.04.2010, 01:06
Ошибка связанна с тем, что в Form3 несколько раз объявлена mediashop::mediashop().
Либо ищите ошибку в includах (может вы уже подключали его в Form2, например), либо отделите тело mediashop::mediashop()
в cpp-файл
1
 Аватар для demidrolll
133 / 132 / 60
Регистрация: 10.12.2008
Сообщений: 286
13.04.2010, 14:01  [ТС]
В других формах (собственно и в Form3) mediashop::mediashop() нигде не встречается. Да и include только в Form3

Добавлено через 11 часов 52 минуты
Спасибо HIMen, все оказывается было проще. Т.к. я с формами работаю первый раз, поэтому и наткнулся на такую проблему. Вот что нужно было сделать(может кому поможет): оказывается, когда нужно добавить какой-либо собственный класс, который должен содержаться в отдельном .h файле, просто так его вручную создать и подключить не получится. Для этого необходимо выполнить Project->Add Class... из меню VC. Там вписываете имя класса - и VC создаст .h файл с Вашим классом + .сpp файл, в котором будут содержаться его методы. И тогда все будет работать
0
бжни
 Аватар для alex_x_x
2473 / 1684 / 135
Регистрация: 14.05.2009
Сообщений: 7,162
13.04.2010, 19:59
я чет посомневался и убил свой пост, demidrolll, никто вам не мешает самому так писать, более того, для с++ это обычная практика разделения, тк объявление два раза включать нельзя, а описание надо включать постоянно
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.04.2010, 19:59
Помогаю со студенческими работами здесь

LNK1169: one or more multiply defined symbols found
Не могу понять, в чём тут ошибка?? Помогите пожалуйста)) #include &lt;iostream.h&gt; #include &lt;stdio.h&gt; #include &lt;math.h&gt; ...

Ошибка "LNK1169: one or more multiply defined symbols found" при добавлении файла в проект
Здравствуйте, у меня такая проблема в Microsoft Visual Studio 2013/2012: создаю проект, создаю C++ файл (ctrl+shift+a, кстати, подскажите,...

Ошибка: one or more multiply defined symbols found
Пишу программу на C++, все нормально работала, компилировалась, потом добавил строчку коментариев, (не стояло...), перекомпилировал и...

Fatal error LNK1169 (VS2017)
Доброго времени суток, уважаемое сообщество. Бороздил просторы интернета в поиске решения своей проблемы, и в отчаянии пишу сюда (тут тоже...

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru