Ошибка в линковке (С++)

pogreb38

Помогите, плиз!
Собираю проект в Студии 2003, выдаются вот такие ошибки, совсем не понимаю, что это значит, не сталкивалась раньше... Как это можно попробовать исправить? с чем связана ошибка? :crazy:
MSDN не помог...
Population.obj : error LNK2005: "float __cdecl Generate_rand(int)" (?Gen@Z) already defined in main.obj
Population.obj : error LNK2005: "int __cdecl Generate_rand_N(int)" (?Gener@Z) already defined in main.obj
Population.obj : error LNK2005: "int __cdecl Generate_place(int)" (?Gene@Z) already defined in main.obj
Population.obj : error LNK2005: "public: class GENOM __thiscall GENOM::operator=(class GENOM)" (?@QAE?@Z) already defined in main.obj
Population.obj : error LNK2005: "public: int __thiscall GENOM::operator==(class GENOM)" (?@@Z) already defined in main.obj
Population.obj : error LNK2005: "public: short __thiscall GENOM::reverse_A(void)" (?@QAEFXZ) already defined in main.obj
Population.obj : error LNK2005: "public: short __thiscall GENOM::reverse_G(void)" (?@QAEFXZ) already defined in main.obj
Population.obj : error LNK2005: "public: short __thiscall GENOM::reverse_T(void)" (?@QAEFXZ) already defined in main.obj
Population.obj : error LNK2005: "public: short __thiscall GENOM::reverse_C(void)" (?@QAEFXZ) already defined in main.obj
Population.obj : error LNK2005: "public: void __thiscall GENOM::mutation(void)" (?@QAEXXZ) already defined in main.obj
Population.obj : error LNK2005: "public: void __thiscall GENOM::show(void)" (?@QAEXXZ) already defined in main.obj
Population.obj : error LNK2005: "public: void __thiscall CELL::transformation(void)" (?tran@QAEXXZ) already defined in main.obj
Population.obj : error LNK2005: "public: bool __thiscall CELL::WT(class GENOM)" (?@Q@@Z) already defined in main.obj
Population.obj : error LNK2005: "public: bool __thiscall CELL::M41L(class GENOM)" (?@Q@@Z) already defined in main.obj
Population.obj : error LNK2005: "public: bool __thiscall CELL::T215N(class GENOM)" (?@Q@@Z) already defined in main.obj
Population.obj : error LNK2005: "public: bool __thiscall CELL::T215S(class GENOM)" (?@Q@@Z) already defined in main.obj
Population.obj : error LNK2005: "public: bool __thiscall CELL::T215Y(class GENOM)" (?@Q@@Z) already defined in main.obj
Population.obj : error LNK2005: "public: bool __thiscall CELL::fitness_bool_value(class GENOM)" (?fitness_@Q@@Z) already defined in main.obj
Population.obj : error LNK2005: "public: int __thiscall CELL::survival_quantity(void)" (?surviva@QAEHXZ) already defined in main.obj
Population.obj : error LNK2005: "public: void __thiscall CELL::fitness(void)" (?@QAEXXZ) already defined in main.obj
Population.obj : error LNK2005: "public: void __thiscall VIRAL_POPULATION::copy_new_to_start(void)" (?copy_neVIRAL_@QAEXXZ) already defined in main.obj
Population.obj : error LNK2005: "public: void __thiscall VIRAL_POPULATION::copy_viruses(class SWAP_CELL)" (?coVIRAL_@QAEX@@Z) already defined in main.obj
Population.obj : error LNK2005: "public: void __thiscall VIRAL_POPULATION::selection(void)" (?VIRAL_@QAEXXZ) already defined in main.obj
Population.obj : error LNK2005: "public: void __thiscall CELL_POPULATION::copy_viruses(class VIRAL_POPULATION)" (?coCELL_@QAEXVVIRAL_@@Z) already defined in main.obj
Population.obj : error LNK2005: "public: void __thiscall CELL_POPULATION::handle_cells(void)" (?haCELL_@QAEXXZ) already defined in main.obj
Debug/12042009.exe : fatal error LNK1169: one or more multiply defined symbols found

geja_03

already defined in main.obj
Ну все ж написано - два определения одной функции в разных объектных файлах.

klyv

скорее всего, реализация нешаблонного не-inline метода написана в заголовочном (.h/.hpp/.hxx) файле.

pogreb38

Да, это я тоже перевела...
Расскажите, плиз, как эту ошибку исправить? я в программировании тупой пользователь, умею тривиальные вещи, что такое объектные файлы я не знаю...подозреваю, что они создаются автоматически на одном из этапов сборки, но почему там переоопределение функции и как это исправить - не в курсах...

pogreb38

Убрала заголовочный файл вообще, есть только main.cpp, в нем все, и та же лажа...

pogreb38

Может у меня студия криво встала?...может такое быть?

katrin2201

Вряд ли. Проект состоит из одного файла? main.cpp?

geja_03

По логу как минимум из 2х - main.cpp и population.cpp

geja_03

Для начала сделай Rebuild

pogreb38

уже из одного, только мэйн.
Кстати, в Dev-cpp откомпилилось и запускается, похоже с настройками студии что-то...

geja_03

Если у тебя все в main и лог такой же, значит из проекта Population.cpp не удален Oo

katrin2201

ну да
чтоб не мучаться можно пустой проект создать в студии и туда засунуть твой main.cpp

katrin2201

понятно, что имелось в виду после =)

pogreb38

АЕ! помогло! :) спасибо огромное! :)

lurgi48

если есть библиотека dll, которая скомпилена в студии и использует другие стандартные библиотеки, то может такая проблема всплыть
Оставить комментарий
Имя или ник:
Комментарий: