2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Как устранить ошибку LNK2005 : MS VS 2017
Сообщение22.03.2018, 18:57 
Аватара пользователя


05/06/08
470
Вставил класс из другого проекта. получил следующее на часть переменных:
Код:
Error   LNK2005   "int sigmaix" (?sigmaix@@3HA) already defined in EDP.obj

Переменные только этого класса, и EDP.obj - компилируется всего из двух файлов ххх.cpp и ххх.h
Правда, я сначала создал класс из темплейта и затем копипаст. Но все равно почему появляется дублирование?

 Профиль  
                  
 
 Re: Как устранить ошибку LNK2005 : MS VS 2017
Сообщение22.03.2018, 19:13 
Заслуженный участник


28/04/09
1933
MWE в студию.

Навскидку такое возможно, если у Вас эти (глобальные) переменные попросту определены в заголовочном файле, который подключается в несколько cpp-файлов.

 Профиль  
                  
 
 Re: Как устранить ошибку LNK2005 : MS VS 2017
Сообщение22.03.2018, 19:42 
Аватара пользователя


05/06/08
470
Если честно, то я не профессиональный программист.
Поэтому проекты иногда весьма кривые. Первоначальный проект был специально упрощен так, чтобы исключить классы. Более того, кроме основного cpp файла практически все остальные кодовые программы и определялись и писались в h файлах.
Но именно этот класс раньше, лет 6 назад вполне себе работал. Как может его h файл попасть куда-то еще, не знаю, тем более ошибка прямо указывает, что повторное переопределение исключительно в EDP.obj полученного из EDP.cpp хотя сейчас посмотрю...
Что до программы
Код:
       EDP *edp = NULL;
       edp =  new EDP(3, Img_ST, X, Y, L);
      edp->Intermed(dispL, dispR);


пока единственное ссылка на класс в головном файле. Там же
Код:
#include "EDP.h"

 Профиль  
                  
 
 Re: Как устранить ошибку LNK2005 : MS VS 2017
Сообщение22.03.2018, 19:53 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Если Вы никакой специфики не напишете, то Вам никто не сможет помочь. Пока даже непонятно, что такое sigmaix.

 Профиль  
                  
 
 Re: Как устранить ошибку LNK2005 : MS VS 2017
Сообщение22.03.2018, 19:56 
Аватара пользователя


05/06/08
470
Вот все ошибки. Странно, что всего 14, переменных больше.
Код:
Severity   Code   Description   Project   File   Line   Suppression State   
Error   LNK2005   "int m_nPixels" (?m_nPixels@@3HA) already defined in EDP.obj   segment   C:\Users\\OneDrive\ST_intr\segment\segment.obj   1   
Error   LNK2005   "int sigmai" (?sigmai@@3HA) already defined in EDP.obj   segment   C:\Users\\OneDrive\ST_intr\segment\segment.obj   1   
Error   LNK2005   "int m_width" (?m_width@@3HA) already defined in EDP.obj   segment   C:\Users\\OneDrive\ST_intr\segment\segment.obj   1   
Error   LNK2005   "int sigmaX" (?sigmaX@@3HA) already defined in EDP.obj   segment   C:\Users\\OneDrive\ST_intr\segment\segment.obj   1   
Error   LNK2005   "int sigmai2" (?sigmai2@@3HA) already defined in EDP.obj   segment   C:\Users\\OneDrive\ST_intr\segment\segment.obj   1   
Error   LNK2005   "double * TBi_ws" (?TBi_ws@@3PANA) already defined in EDP.obj   segment   C:\Users\\OneDrive\ST_intr\segment\segment.obj   1   
Error   LNK2005   "int m_height" (?m_height@@3HA) already defined in EDP.obj   segment   C:\Users\\OneDrive\ST_intr\segment\segment.obj   1   
Error   LNK2005   "double * Bi_ws" (?Bi_ws@@3PANA) already defined in EDP.obj   segment   C:\Users\\OneDrive\ST_intr\segment\segment.obj   1   
Error   LNK2005   "int sigmaY" (?sigmaY@@3HA) already defined in EDP.obj   segment   C:\Users\\OneDrive\ST_intr\segment\segment.obj   1   
Error   LNK2005   "int sigmaiy" (?sigmaiy@@3HA) already defined in EDP.obj   segment   C:\Users\\OneDrive\ST_intr\segment\segment.obj   1   
Error   LNK2005   "int sigmaix" (?sigmaix@@3HA) already defined in EDP.obj   segment   C:\Users\\OneDrive\ST_intr\segment\segment.obj   1   
Error   LNK1169   one or more multiply defined symbols found   segment   C:\Users\\OneDrive\ST_intr\Release\segment.exe   1   

 Профиль  
                  
 
 Re: Как устранить ошибку LNK2005 : MS VS 2017
Сообщение22.03.2018, 19:57 
Заслуженный участник
Аватара пользователя


06/10/08
6422
Как переменные объявлены-то?

 Профиль  
                  
 
 Re: Как устранить ошибку LNK2005 : MS VS 2017
Сообщение22.03.2018, 19:58 
Аватара пользователя


05/06/08
470
Xaositect в сообщении #1299108 писал(а):
Если Вы никакой специфики не напишете, то Вам никто не сможет помочь. Пока даже непонятно, что такое sigmaix.

Это все переменные. Даже не программы. Может быть где-то копировал куски этого кода...
Но в это случае это точно не класс.

-- Чт мар 22, 2018 21:00:51 --

Xaositect в сообщении #1299110 писал(а):
Как переменные объявлены-то?

В классе. И в конструкторе.
Сам класс я только что прицепил к текущему поекту, взяв из старого.

-- Чт мар 22, 2018 21:15:04 --

Большое спасибо за внимание. Вроде бы нашел. Все таки давно в один из своих хедеров копировал некоторые программы частично, и поэтому определил эти переменные , как глобальные.
Мои извинения. :)

-- Чт мар 22, 2018 21:15:09 --

Большое спасибо за внимание. Вроде бы нашел. Все таки давно в один из своих хедеров копировал некоторые программы частично, и поэтому определил эти переменные , как глобальные.
Мои извинения. :)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group