Форум программистов, компьютерный форум CyberForum.ru

Не компилируется в visual 2010 - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 56, средняя оценка - 5.00
Еухений
1 / 1 / 0
Регистрация: 11.01.2011
Сообщений: 43
11.03.2011, 21:05     Не компилируется в visual 2010 #1
Простой код :
C++
1
2
3
4
5
6
#include <iostream>
int main ()
{
std :: cout << " privet " << std ::endl;
return 0;
}
Код слизал с учебника.
Проблема вот в чем, при компиляции пишет что 1 ошибка при любых вводимых программах. Думал 10 плохая. Скачал 6,0 там такая же фигня.
Во так вот ругается :


1>------ Построение начато: проект: 15, Конфигурация: Debug Win32 ------
1> stdafx.cpp
1> 15.cpp
1>c:\users\user\desktop\15\15\15.cp p(1): warning C4627: #include <iostream>: пропущен при поиске использования предкомпилированного заголовка
1> Добавление директивы в "StdAfx.h" или перестройка предкомпилированного заголовка
1>c:\users\user\desktop\15\15\15.cp p(7): fatal error C1010: непредвиденный конец файла во время поиска предкомпилированного заголовка. Возможно, вы забыли добавить директиву "#include "StdAfx.h"" в источник.
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========

При вводе дерективы "#include "StdAfx.h""
Получается :

1>c:\users\user\desktop\15\15\15.cp p(5): error C2065: cout: необъявленный идентификатор
1>c:\users\user\desktop\15\15\15.cp p(5): error C2039: endl: не является членом "std"
1>c:\users\user\desktop\15\15\15.cp p(5): error C2065: endl: необъявленный идентификатор
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
11.03.2011, 21:20     Не компилируется в visual 2010 #2
1. Нужно добавлять #include "StdAfx.h"
2. Нужно ОБЯЗАТЕЛЬНО в vs писать using namespace std;
те код будет такой:
C++
1
2
3
4
5
6
7
8
9
#include <iostream>
#include <StdAfx.h>
using namespace std;
 
int main ()
{
cout << " privet " <<endl;
return 0;
}
Ну и после этого приписывать что cout и endl принадлежат просранству имён std не надо.
Если и это не поможет тогда
3.При созданни нового проэкта убрать галочку возле "прекомпелированный заголовок".
Еухений
1 / 1 / 0
Регистрация: 11.01.2011
Сообщений: 43
11.03.2011, 21:28  [ТС]     Не компилируется в visual 2010 #3
Попробовал, не помогает ((((((
Пишет:

1>------ Построение начато: проект: 1, Конфигурация: Debug Win32 ------
1> stdafx.cpp
1> 1.cpp
1>c:\users\user\desktop\1\1\1.cpp(3): fatal error C1083: Не удается открыть файл включение: StdAfx.h: No such file or directory
1> Создание кода...
========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ==========
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
11.03.2011, 21:51     Не компилируется в visual 2010 #4
Еухений, уберите строку

C++
1
#include <StdAfx.h>
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2294 / 1664 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
11.03.2011, 22:04     Не компилируется в visual 2010 #5
Цитата Сообщение от Gepar Посмотреть сообщение
1. Нужно добавлять #include "StdAfx.h"
Не нужно, если создать пустой проект.
Цитата Сообщение от Gepar Посмотреть сообщение
2. Нужно ОБЯЗАТЕЛЬНО в vs писать using namespace std;
Это не обязательно, а крайне нежелательно. Почитайте по пространства имен и зачем они нужны.

Еухений,
1. Cоздайте пустой проект (empty project).
2. Добавьте в созданный проект cpp файл c любым именем.
3. Вставьте в добавленный файл код с вашего первого поста.
4. Соберите, запустите и радуйтесь жизни.
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
11.03.2011, 22:46     Не компилируется в visual 2010 #6
Ну вот уже только одна ошибка с StdAfx.h Тогда можно ещё попробовать написать "StdAfx.h" вместо <StdAfx.h> и проверьте что это слово написано у вас правильно.
Ну а вообще я считаю что писать консольные приложения в VS2010 это как из пушки по воробьям, гораздо проще скачать другой компилятор и другую среду поменьше - он и работать будет побыстрее и для начала его функционала будет предостаточно. Я рекомендую Codeblocks (качать лучше с встроенным minigw компилятором), там у вас заморочек таких не будет со средой.

Добавлено через 39 минут
Цитата Сообщение от CyBOSSeR Посмотреть сообщение
Это не обязательно, а крайне нежелательно. Почитайте по пространства имен и зачем они нужны.
Ну для маленьких консольных приложений эта строка не навредит + vs2010 не хочет без этого компилировать приложение.
MILAN
 Аватар для MILAN
883 / 777 / 86
Регистрация: 21.02.2009
Сообщений: 1,722
11.03.2011, 22:48     Не компилируется в visual 2010 #7
Цитата Сообщение от Gepar Посмотреть сообщение
vs2010 не хочет без этого компилировать приложение
А вот ето спорный вопрос.
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2294 / 1664 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
11.03.2011, 22:50     Не компилируется в visual 2010 #8
Цитата Сообщение от Gepar Посмотреть сообщение
vs2010 не хочет без этого компилировать приложение
Компилирует и причем без проблем. Все таки почитайте про пространства имен.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
11.03.2011, 22:50     Не компилируется в visual 2010 #9
Цитата Сообщение от Gepar Посмотреть сообщение
для маленьких консольных приложений эта строка не навредит
Ну да, свистнем пачку жвачки здесь, проедем на красный на 90 в час там, маленькие преступления - они же никому не вредят, правда?

Цитата Сообщение от Gepar Посмотреть сообщение
vs2010 не хочет без этого компилировать приложение
Это как так? Ввели пространства имён и сразу запрет на их использование? Или, может, приложения не хотят компилироваться потому, что кто-то забывает писать std:: в некоторых местах?
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
11.03.2011, 22:58     Не компилируется в visual 2010 #10
silent_1991, ок, помогите создавшему тему новичку - напишите почему его код не компилируется? Он же не забыл указать пространство имён в некоторых местах чего же это у него не работает его проэкт? Чего-то ваш правильный код без using namespace std не определил (судя по ошибкам) чему же принадлежит cin и endl.
Ну а сравнения с преступлениями это вообще бред, не находите что стандартные возможности с++ не стоит сравнивать с преступлениями? Да и задолбаться можно жеуказывая всюду пространство имён std если только оно нам и надо так почему бы не указать его 1 раз?
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
11.03.2011, 23:02     Не компилируется в visual 2010 #11
В сообщении 5 указан самый верный алгоритм действий, лучше не придумаешь. А если после этого у ТСа снова ничего не захочет работать - то дело явно не в плохих мелкомягких, а в чьих-то руках.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
11.03.2011, 23:03     Не компилируется в visual 2010 #12
Цитата Сообщение от Gepar Посмотреть сообщение
Да и задолбаться можно жеуказывая всюду пространство имён std если только оно нам и надо так почему бы не указать его 1 раз?
Видимо Вы не слыхали про "хороший" тон програмирования, а жаль...
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
11.03.2011, 23:05     Не компилируется в visual 2010 #13
На счёт пространства имён. Я уже где-то приводил простой пример. Для примера взял функцию swap. Имя ходовое, может захотеться его использовать. Только вот проблемка - в стандартном пространстве имён уже описана такая функция. Опытный программист тут же поймёт, в чём дело (вернее нет, не поймёт, у него просто не будет для этого повода - он не станет употреблять using namespace std; ), а вот незадачливый новичок побежит на форум и создаст очередную тему, где будет спрашивать про странную и непонятную штуку - перегрузку функций и про то, что нет какой-то там однозначности.
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
11.03.2011, 23:11     Не компилируется в visual 2010 #14
Цитата Сообщение от asics Посмотреть сообщение
Видимо Вы не слыхали про "хороший" тон програмирования, а жаль...
Ну как только в стандарт внесут строчку "не используйте using namespace std" так сразу я и изменю своё мнение, а пока "хорошее программирование" звучит не более как "а в той книге что я читал было написано что так плохо". В том учебнике что я читаю это не считается плохим тоном, уж извините, мне тоже так удобнее. Вам не нравиться- дописывайте при каждом выводе через cout std:: (ведь писать после include <iostream> using std::cout по вашим правилам хорошего тона как я понял тоже плохо), я же не имею ничего против.

Добавлено через 1 минуту
Цитата Сообщение от silent_1991 Посмотреть сообщение
Для примера взял функцию swap. Имя ходовое, может захотеться его использовать.
А переменные начиная с _ вам тоже часто хочется использовать а потом возникают конфилкты?
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
11.03.2011, 23:15     Не компилируется в visual 2010 #15
Видите ли, в учебниках обычно оговаривают, что используют этот приём для избежания большого количества текста, чтобы можно было сосредоточиться на том, что код делает, а не на том, из чего он состоит. Про быдлокод в стандарте тоже ничего не сказано, однако он продолжает существовать. Но пожалуйста, продолжайте его порождать и дальше, не буду вам мешать.

Добавлено через 1 минуту
Цитата Сообщение от Gepar Посмотреть сообщение
А переменные начиная с _ вам тоже часто хочется использовать а потом возникают конфилкты?
Ага, использую я их часто. Однако конфликтов что-то пока не встречал, вот какая штука...
Еухений
1 / 1 / 0
Регистрация: 11.01.2011
Сообщений: 43
11.03.2011, 23:41  [ТС]     Не компилируется в visual 2010 #16
Вот что надо в настройках поменять )))

Project - Properties - C/C++ - Precompiled Headers - Create/Use Precompiled header (должно быть Not Using Precompiled Headers)

Добавлено через 49 секунд
Как закрыть тему ?
Gepar
 Аватар для Gepar
1173 / 529 / 20
Регистрация: 01.07.2009
Сообщений: 3,512
11.03.2011, 23:44     Не компилируется в visual 2010 #17
Еухений, ну а я о чём писал в первом же своём посте?
Но нет же, я не прав, мои методы не каноничны и всё такое сразу тут народу набежало ...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.03.2011, 23:46     Не компилируется в visual 2010
Еще ссылки по теме:

C++ Visual Studio 2010 (Не компилируется ни одна программа. Даже та,которую мастер создал автоматически!)
C++ Не компилируется код в Visual C++ 2010
C++ Не компилируется .cpp файл в visual studio

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
11.03.2011, 23:46     Не компилируется в visual 2010 #18
Gepar, в этом вы были правы, и никто и слова не сказал.
Yandex
Объявления
11.03.2011, 23:46     Не компилируется в visual 2010
Ответ Создать тему
Опции темы

Текущее время: 12:43. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru