Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как в Visual Studio.NET создать EXE-файл на С++  (Прочитано 31885 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
lexx_80
Гость
« : 06-07-2007 08:15 » 

         ПОМОГИТЕ новичку!!!

Решил перейти с СИ на С++. Учу по Дейтелам.
Кроме Visual Studio.NET никакой другой подходящей
оболочки нет (сразу после Turbo C++ тяжеловато идет ...).

Суть проблемы: Не могу создать обычный, простенький
exe-файл (тот же "Hello World!").

Что делал:
1) Создал решение (Solution1).
2) Создал в нем проект
   (Add -> New project;
    Visual C++ Projects -> General -> Makefile Project).
    В Мастере задал имя проекта и больше ничего не менял.
3) В созданную папку Source Files добавил файл Hello.cpp

4) Осталось откомпилировать; выделяю cpp-файл, но
   компиляция (Build -> Compile) недоступна!?

Что я сделал не так?  А черт его знает... И еще лучше, оболочку попроще под С++
(с IDE) и реализацией последних стандартов по с++ (<iostream>, std::cout).
Зараннее СПАСИБО всем откликнувшимся.
« Последнее редактирование: 06-07-2007 08:33 от lexx_80 » Записан
Джон
просто
Администратор

de
Offline Offline
Пол: Мужской

« Ответ #1 : 06-07-2007 08:32 » 

Насчёт попроще... Дело в привычке. В прниципе по своему фнкционалу все IDE одинаковы. Разобрался с одной - уже с другими проще будет.

А в студии всё просто. Лучше воспользоваться мастером проектов. Для тебя проще начать с консольного.
Для этого:

1. Запускаешь студию

2. File -> New -> Project

3. Visual C++ Project -> Win32 -> Win32 Console Project (см рис 1)





4. В поле Name введёшь имя проекта (Test1) и "Ок"

5. В мастере (рис 2) идёшь на "Application Settings" -> Выбираешь тип проекта "Console application" и кликаешь Finish



6. Всё. В файле Test1.cpp видишь знакомую ф-ю main

Код:
#include "stdafx.h"

int _tmain(int argc, _TCHAR* argv[])
{
return 0;
}

Ну, а если хочешь дальше свой проект пробить, то одного создания файла в папке недостаточно. Его надо ещё включить в проект. Плюс надо оперделить какой тип приложения у тебя будет - те редактировать make файл.

Как правило под виндой тебе нужны несколько типов приложений. Все они покрываются мастером.

* ss1.gif (15.23 Кб - загружено 15481 раз.)
* ss2.gif (17.48 Кб - загружено 15157 раз.)
« Последнее редактирование: 06-07-2007 08:35 от Джон » Записан

Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома.
"Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash
"Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman
"All science is either physics or stamp collecting." Ernest Rutherford
"Wer will, findet Wege, wer nicht will, findet Gründe."
lexx_80
Гость
« Ответ #2 : 06-07-2007 08:48 » 

Спасибо, Джон! Буду дальше грызть гранит науки Действовать надо быстро
Записан
Vlaor
Гость
« Ответ #3 : 06-07-2007 14:46 » 

Вообще можно еще проще. Можно создать пустой проект:
New Project -> General -> Empty Project -> OK
Затем добавляешь туда cpp файл с функцией main-WinMain-tmain...
Записан
Stalker2
Новенький

ru
Offline Offline

« Ответ #4 : 12-03-2011 14:57 » 

Спасибо, столкнулся с такой же проблемой, С++ изучаю по  учебнику Р.Лафоре Объектно ориентированное программирование в  С++. к сожалению там все иначе объяснено:
"Компановка существующего файла
Если исходный файл .сср уже существует, выберите пункт Open  (Открыть) из меню File (Файл). В появившемся диалоговом окне найдите нужный файл, выберите его и щелкните на кнопке Open. Файл появиться в окне документа.
Для компиляции и компановки исходного файла выберите пункт build из одноименного меню. В диалоговом окне появиться запрос на создание обычной рабочей области проекта. Ответьте утвердительно.Файл будет откомпилирован и связан со всеми необходимыми библиотечными файлами."
Как было отмечено выше, это не работает. Собственно даже при открытии сср файла в VCC++ нет меню build. Отсюда у меня возникает вопрос - почему так? и второй , где можно поподробнее узнать о компиляции в Visual Studio  и зачем нужен "stdafx.h", за что он отвечает?
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 12-03-2011 17:18 » 

Stalker2, а о какой версии Visual Studio идёт речь? 5.0, 6.0, .NET, .NET 2003, 2005, 2008, 2010?
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
golian
Интересующийся

ru
Offline Offline
Пол: Мужской
Я только учусь


« Ответ #6 : 13-03-2011 01:16 » 

® Dimka как мне кажется он говорит о Visual Studio 2010

® Stalker2  stdafx.h - файл для подключения заголовочных файлов, которые используются в проекте.

® lexx_80 я бы рекомендовал тебе "Программирование на C++ в Visual Studio 2010 Express" если интересно где скачать то пиши в Личку дам ссылку)
Записан
Stalker2
Новенький

ru
Offline Offline

« Ответ #7 : 13-03-2011 09:00 » 

Извините за невнимательность. Пользуюсь 2008 версией. Ответ на свой вопрос частично нашел на другом форуме. Размещу, здесь...Да простят мне плагиат)
При создании нового проекта (C++, далее любой из подпроектов, типа Console App, MFC App, или ATL Service) Visual Studio генерит кучку файлов, которые составляют костяк приложения. Среди этих файлов имеются два, которые служать для генерации файла предкомпилированных заголовков (precompiled headers). Первый -- stdafx.h, в нем хранятся все "основные" include-ы проекта, но, как правило, не входящие в сам проект, т.е. файлы типа windows.h, stdio.h, afxwin.h включаются, а CSomeSuperPuperProjectClass.h -- нет.
Второй -- stdafx.cpp, служит как "затравка" компилятору для компиляции этого самого .pch-файла (precompiled headers file)

В свойствах проекта для всех файлов ставиться опция "use this precompiled header" и указывается stdafx.h
Исключение -- stfafx.cpp, для него указывается "create precompiled header file" и, опять таки, указывается stdafx.h

Q: Для чего это сделано.
A: Все это сделано для ускорения компиляции проектов и не более того. Из-за того, что объем части общих .h-файлов превосходит все разумные пределы (например windows.h, цепляющий ещё десяток win*.h), и компилировать все эти заголовочники для каждого source-файлы просто накладно. Поэтому один раз генерится PCH-файл, а потом он (PCH) используется. Ускорение, кстати, в десятки раз, особенно заметное при работе с ATL/MFC проектами.

Q: Почему возникает ошибка "error looking precompiled header directive".
A: В каждом source-файле, для которого стоит опция "use this precompiled header" #include "stdafx.h" должно идти первым include

Q: Как избавится от генерации PCH-файлов
A: В свойствах проекта для файлов выставить "Not Using Precompiled Headers" или "Automatically Generate"

Q: Где находятся эти опции
A: VS6: Project settings -> C/C++ -> Precompiled Headers
VS.NET: Configuration Properties -> C/C++ -> Precompiled Headers

Q: Я настроил компиляцию DEBUG-версии на отказ использования PCH, но при компиляции RELEASE ошибка опять возникла.
A: Project setting для DEBUG/RELEASE представляю разные сущности. См. пред. пункт Q/A и настрой все для RELEASE-конфигурации.
Записан
Dimka
Деятель
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #8 : 13-03-2011 09:46 » new

Проще не настраивать Debug и Release отдельно, а выбрать All configurations и настроить для всех сразу.
Записан

Программировать - значит понимать (К. Нюгард)
Невывернутое лучше, чем вправленное (М. Аврелий)
Многие готовы скорее умереть, чем подумать (Б. Рассел)
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines