Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> fatal error LNK1169: one or more multiply defined 
V
    Опции темы
Urnix
Дата 6.2.2008, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 20.6.2007

Репутация: нет
Всего: нет



Помогите, пожалуйста, разобраться с ошибкой.
За изучение С++ сел вчера... не судете новичка строго...
Среда: Microsoft Visual C++ 2008 Express Edition.

Создаю проджект Example 2, добавляю два юнита. 

ex2.1.cpp
Код

#include <iostream>
using namespace std;

int main()
{
cout << "Hello there. \n";
cout << "Here is 5:  " << 5 << "\n";
cout << "The manipulator endl writes a new line to the screen.";
cout <<
        endl; 
cout << "Here is a very big number:\t" << 70000 << endl;
cout << "Here is the sum of 8 and 5:\t" << 8+5 << endl; 
cout << "Here's a fraction:\t\t" << (float) 5/8 << endl; 
cout << "And a very very big number:\t"; 
cout << (double) 7000 * 7000 << endl;
cout << "Don't forget to replace Jesse Liberty with your name Ischenko Artem\n";
cout << "Ischenko Artem is a C++ programmer!\n";
return 0;
}


ex2.2.cpp
Код

#include <iostream>
using namespace std;

int Add (int x, int y)
{
cout<< "In Add(), received " << x;
return  (x+y);
}

int mainf()
{
cout << "I'm in main()!\n";
int  a, b, c; 
cout << "Enter two numbers: ";
cin >> a;
cin>> b;
cout << "\nCalling Add()\n";
c=Add(a,b);
cout <<  "\nBack  in main().\n";
cout << "c was set to "<< c;
cout << "\nExiting...\n\n";
return 0;
}


Нажимаю build - получаю
Цитата

1>------ Build started: Project: Example 2, Configuration: Debug Win32 ------
1>Compiling...
1>ex2.1.cpp
1>ex2.2.cpp
1>Generating Code...
1>Compiling manifest to resources...
1>Microsoft ® Windows ® Resource Compiler Version 6.0.5724.0
1>Copyright © Microsoft Corporation.  All rights reserved.
1>Linking...
1>ex2.2.obj : error LNK2005: _main already defined in ex2.1.obj
1>E:\Urnix\Visual Studio 2008\Projects\Example 2\Debug\Example 2.exe : fatal error LNK1169: one or more multiply defined symbols found
1>Build log was saved at "file://e:\Urnix\Visual Studio 2008\Projects\Example 2\Example 2\Debug\BuildLog.htm"
1>Example 2 - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========


Если в одном из юнитов переименовать main во что-нибудь другое, то нормально компилится. Но, разумеется этот юнит и не запускается...
Если я правильно понял, то в одном проекте во  всех юнитах должна быть только одна функция main. Так ли это? И что делать?
Может надо как-то настроить среду?
Пробовал смотреть help, но недостаточно знаю английский и C, чтобы разобраться...
Объясните, пожалуйста в чём суть? Заранее благодарен.
PM MAIL ICQ   Вверх
Kanes
  Дата 6.2.2008, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 11.3.2005

Репутация: нет
Всего: нет



1. А зачем два юнита?
2. Если я не ошибаюсь, то да, ф-ция main() должна быть одна, кстати, об этом и написано в ошибке
--------------------
Big gun - big future  
PM MAIL   Вверх
Urnix
Дата 6.2.2008, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 20.6.2007

Репутация: нет
Всего: нет



Цитата(Kanes @ 6.2.2008,  15:09)
1. А зачем два юнита?
2. Если я не ошибаюсь, то да, ф-ция main() должна быть одна, кстати, об этом и написано в ошибке

Ну в частности - сейчас учусь, создаю тренировочные юниты - лень для каждого делать отдельный проджект. Или всё же стоит?
То есть такой случай на практике не возникает? В проджекте всегда по одной main-функции надо делать? 
PM MAIL ICQ   Вверх
Kanes
Дата 6.2.2008, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 161
Регистрация: 11.3.2005

Репутация: нет
Всего: нет



ну на то она и main(), чтоб быть одной.
Хм, а объясни пожалуйста как ты их используешь?

--------------------
Big gun - big future  
PM MAIL   Вверх
Urnix
Дата 6.2.2008, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 20.6.2007

Репутация: нет
Всего: нет



Цитата(Kanes @ 6.2.2008,  15:45)
ну на то она и main(), чтоб быть одной.
Хм, а объясни пожалуйста как ты их используешь?

Да там чисто тренировочные юниты  типа hello world.
В общем понятно, вопрос закрыт. Спасибо за ответ.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0616 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.