Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.09.2011, 15:19   #1
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
Злость Не понятная ошибка!!!

Что это за бред в DLL???

1>Markers_VC.obj : error LNK2005: "struct CMarker * VCRadarBlips" (?VCRadarBlips@@3PAUCMarker@@A) уже определен в dllmain.obj
1>Markers_VC.obj : error LNK2005: "unsigned long (__cdecl* __Create_Marker)(unsigned long,float,float,float,unsigned long,unsigned long)" (?__Create_Marker@@3P6AKKMMMKK@ZA) уже определен в dllmain.obj
1>Markers_VC.obj : error LNK2005: "void (__cdecl* __showMarkerOnRadar)(unsigned long,unsigned long)" (?__showMarkerOnRadar@@3P6AXKK@ZA) уже определен в dllmain.obj
VintProg вне форума Ответить с цитированием
Старый 09.09.2011, 15:28   #2
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

там же написано : уже определен в dllmain.obj
надо код смотреть, наверно лишний раз объявил методы
counter вне форума Ответить с цитированием
Старый 09.09.2011, 15:40   #3
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

Все правильно я написал... Этот баг уже меня достал!!!!!

Вот по пробуйте скомпилить!!!
Вложения
Тип файла: rar MarkerLimiter.rar (111.0 Кб, 49 просмотров)

Последний раз редактировалось Stilet; 11.09.2011 в 13:31.
VintProg вне форума Ответить с цитированием
Старый 09.09.2011, 15:49   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а может и не баг это, похоже что проект состоит из нескольких cpp, у ваших классов, реализация методов(нешаблонных) строго в cpp вынесена(а в .h объявление)?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 09.09.2011, 15:57   #5
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

Смотрите сорцы!!!
VintProg вне форума Ответить с цитированием
Старый 09.09.2011, 16:05   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

поменьше эмоций, я написал пост когда сообщения с сорцами не было.

ошибка в использовании переменных обьявленных в .h
подправлю выложу.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 09.09.2011, 16:07   #7
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

[OFFTOP]
мне нравится ваш коментарий
Код:
struct CV3d
{
 float x,y,z; // x,y,z;
};
counter вне форума Ответить с цитированием
Старый 09.09.2011, 16:12   #8
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

А что не так?
VintProg вне форума Ответить с цитированием
Старый 09.09.2011, 16:18   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

исправлено, Markers_VC.cpp строчки 4-7.
Markers_VC.h строки 5, 8-9.

комментарии:
.h файлы, это файлы обьявлений, не более. у вас же там реализация переменных была.
поясню.
Код:
int x;
это на самом деле реализация переменной(совместно с обьявлением).
если в .h файле такая запись, то при каждом включении создается дубликат переменной, итог ваши ошибки.
Код:
extern int x;
это только обьявление.
если есть переменные в .h, то обьявлены они должны быть там, а реализация в cpp.
так же тип функции(__Create_Marker,__showMarke rOnRadar) какой? если cdecl то я верно исправил
формат указателя на функцию
Код:
void(<соглашение о вызове>*<имя указателя(если не при конверсии)>)(<список параметров, имена параметров имеют смысл при обьявлении, иначе особо не нужны>);
PS: на -Wall не скомпилится
Вложения
Тип файла: rar MarkerLimiter.rar (12.8 Кб, 10 просмотров)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 09.09.2011 в 16:22. Причина: дописал и приложил файл.
Пепел Феникса вне форума Ответить с цитированием
Старый 09.09.2011, 16:24   #10
VintProg
not
Участник клуба
 
Аватар для VintProg
 
Регистрация: 27.06.2009
Сообщений: 1,399
По умолчанию

а где сам рабочий проект?
VintProg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не понятная фигн TotKtoNado Общие вопросы Delphi 0 01.07.2011 17:25
Работа с реестром(не понятная ошибка от rad studio 2010 xaero93 Помощь студентам 2 26.01.2011 18:57
Не понятная задача mitax Microsoft Office Excel 2 17.12.2010 17:19
не понятная ошибка в цикле case designer999 Общие вопросы Delphi 11 27.03.2010 17:40
не понятная ошибка ManInBlack Помощь студентам 2 20.10.2008 23:33