IPB
ЛогинПароль:

> Внимание!

1. Пользуйтесь тегами кода. - [code] ... [/code]
2. Точно указывайте язык, название и версию компилятора (интерпретатора).
3. Название темы должно быть информативным.
В описании темы указываем язык!!!

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Microsoft Visual C++ 2008 не хочет компилировать, Постоянно выдает какие нибудь ошибки
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Я уже полгода наверное мучаюсь с C++. Постоянно Code::Blocks и Microsoft Visual 2008 выдают ошибки.
Кто разбирается - напишите пожалуйста небольшой тест-код для MS Visual 2008, чтобы по выдающим ошибкам вы нашли проблему..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Ты возьми "Hello, World", откомпилируй его и покажи результат. А уж если нет ошибок в "Hello, World" - значит присоединяй свой код, ошибки в нем...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello"<<endl;
return 0;
}
Вот что я написал. А вот что эта гадина выдает при компиляции -

>------ Построение начато: проект: First_primer, Конфигурация: Debug Win32 ------
1>Компиляция...
1>First_primer.cpp
1>Компоновка...
1>test.obj : error LNK2005: _main уже определен в First_primer.obj
1>E:\My Documents\Visual Studio 2008\Projects\First_primer\Debug\First_primer.exe : fatal error LNK1169: обнаружен многократно определенный символ - один или более
1>Журнал построения был сохранен в "file://e:\My Documents\Visual Studio 2008\Projects\First_primer\First_primer\Debug\BuildLog.htm"
1>First_primer - ошибок 2, предупреждений 0
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

Добавлено через 4 мин.
Ну здесь я догадался исключить First_pramer.obj из проекта. Но теперь у меня появляется черное окошечко при компиляции и исчезает. А внизу пишет что без ощибок.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Цитата
Но теперь у меня появляется черное окошечко при компиляции и исчезает. А внизу пишет что без ощибок.
При компиляции или при запуске? Если при запуске - то так и должно быть, ты ж не задерживаешь окно до нажатия любой клавиши, а сразу завершаешь программу. Так с чего оно должно задерживаться?
#include "stdafx.h"
#include <iostream>
using namespace std;
int main()
{
cout<<"Hello"<<endl;

cin.get(); // Вот теперь должно ждать нажатия клавиши
return 0;
}
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Volvo, спасибо. Разобрался. Проще использовать getchar(); Хотя и там свои глюки. Спасибо за советы))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6





Группа: Пользователи
Сообщений: 1
Пол: Женский
Реальное имя: Ольга

Репутация: -  0  +


Здравствуйте!
так что все таки обозначает ошибка "обнаружен многократно определенный символ"????


--------------------
Все люди делятся на 10 типов: те, кто понимают двоичную систему счисления и те, кто нет:))
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






То и означает, что переменная (ну, если не переменная - то константа, или еще какая сущность - смысл от этого не меняется) с одинаковым именем была описана в разных единицах трансляции. Вот смотри:

f1.cpp

#include <iostream>

int i = 20;

int main()
{
std::cout << "Hello world: i = " << i << std::endl;
return 0;
}


f2.cpp
int i = 15;

int f(int x)
{
return 2 * x;
}

Заметила, что в обоих файлах присутствует переменная i? Так вот на этапе компиляции - все в порядке - в каждом файле - своя переменная, файл f1.cpp прекрасно компилируется в f1.obj, f2.cpp - в f2.obj... И тут запускается линкер. Которому надо собрать это все воедино, в exe-шник. А у линкера-то как раз большие проблемы: и в одном и в другом файле он находит упоминание о том, что должна быть переменная i... Но два объекта с одинаковым именем существовать в программе не могут. И какую переменную линкер должен выбрать? Случайную, а вторую - просто вышвырнуть из проекта? Линкер поступает проще: он сообщает программисту об ошибке, и программист должен решать, что выбросить, а что оставить...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 27.10.2020 10:58
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name