Отправляет email-рассылки с помощью сервиса Sendsay

[prg] Visual Studio 2010 - ошибка компилирования

Здравствуйте, уважаемые участники рассылки.

При попытке откомпелировать:
int main()
{
return 0;
}

Получаю отчет:
"Hello001.exe": Загружено: "D:\Arhiv\Программирование\Hello001\Debug\Hello001.exe",
Символы загружены.
"Hello001.exe": Загружено: "C:\Windows\SysWOW64\ntdll.dll", Невозможно найти
или открыть файл PDB
"Hello001.exe": Загружено: "C:\Program Files\AVAST Software\Avast\snxhk.dll",
Невозможно найти или открыть файл PDB
"Hello001.exe": Загружено: "C:\Windows\SysWOW64\kernel32.dll", Невозможно найти
или открыть файл PDB
"Hello001.exe": Загружено: "C:\Windows\SysWOW64\KernelBase.dll", Невозможно найти
или открыть файл PDB
"Hello001.exe": Загружено: "C:\Windows\SysWOW64\msvcr100d.dll", Символы загружены.
Программа "[1936] Hello001.exe: Машинный код" завершилась с кодом 0 (0x0).

Вместо экзешника получаю файл с расширением (obj)
Помогите пожалуйста разобраться.

Ответить   Thu, 7 Mar 2013 00:19:22 +0600 (#2696156)

 

Ответы:

Приветствую всех.

Смотрите здесь:
D:\Arhiv\Программирование\Hello001\Debug\Hello001.exe

Успехов. Анатолий.

Ответить   "i_chay" Fri, 8 Mar 2013 06:22:03 +0300 (#2697165)

 

Здравствуйте.

i_chay, Вы писали 8 марта 2013 г., 9:22:03:

Но почему изменилось имя компилируемого файла?
Первоначально это выглядело так "New_world.cpp"
А полученный экзешник имеет "Hello001.exe" - имя проекта.
В открытом проекте иду:
меню файл\создать\файл.
visual c++\file c++\открыть.
Пишу текст:
#include <iostream.h>

void main(void)
{
cout << "Учимся программировать на языке C++!";
}

Жму F5, джоз говорит : - вывод, выполнение.
А завершает сообщением пути:
D\Arhiv\программирование\Hello001\Debug\Hello001
Ни слова о отладке, построении.
Запроса на замену небыло, дата создания и размер файла не изменились...
Как же правильно выполнить компилирование?

Ответить   Fri, 8 Mar 2013 17:24:55 +0600 (#2697484)

 

Приветствую всех.

А с чего вы взяли, что имя компилируемого файла изменилось???
А главное, почему вы решили, что оно должно совпадать с именем какого-то файла
с исходным кодом?
Во-первых, в проекте может быть более одного файла с исходным кодом (собственно,
поэтому это и называется проектом).
Во-вторых, нет никаких признаков, что ваш файл входит в ваше же проект.
Смотрите Свойства проекта, там в одной из веток определено имя исполняемого файла
(и, кстати говоря, место его размещения).
Эти значения вы можете изменить по своему усмотрению.
Архиполезно будет для вас побродить по дереву свойств проекта и посмотреть значения
различных параметров, чтобы потом не было мучительно больно за бесцельно потерянное
время в поисках несуществующих ошибок.

Надо не создавать файл через меню "File", а добавить его через пункт "Добавить
новый элемент" меню "Проект", либо через аналогичный пункт в контекстном меню
проекта в Обозревателе решений (Solution explorer). Я его вызываю комбинацией
Alt+Ctrl+латинская l, но я уже не помню, была ли эта комбинация изначально или
я ее так настроил для себя. Затем выполнить сборку проекта (меню "Построение"
или Build).
А если делать так, как сделали вы, то Visual Studio не воспринимает ваш файл,
как часть проекта и не включает его в процесс сборки. Поскольку другие файлы
проекта вы не изменяли, то при запуске на выполнение (клавиша F5) просто запускает
ранее скомпилированный hello001.exe.
Кстати, для того чтобы скомпилировать и собрать проект надо нажимать F7, а не
F5.
Короче говоря, у вас полностью отсутствуют базовые понятия по работе в интегрированной
среде разработки и вам крайне необходимо их приобрести, хотя бы почитав встроенную
справку Visual Studio.
Кроме того, если вы при создании нового проекта выбрали шаблон "Консольное приложение"
(или что-то подобное), то у вас уже присутствует в проекте файл, содержащий функцию
main(). Поэтому будьте готовы выслушать от компилятора все, что он думает по
поводу вашей персоны :-)

Успехов. Анатолий.

Ответить   "i_chay" Fri, 8 Mar 2013 19:02:14 +0300 (#2697514)

 

Здравствуйте.

i_chay, Вы писали 8 марта 2013 г., 22:02:14:
А если делать так, как сделали вы, то Visual Studio
не воспринимает ваш файл,
как часть проекта и не включает его в процесс сборки. Поскольку другие файлы
проекта вы не изменяли, то при запуске на выполнение (клавиша F5) просто запускает
ранее скомпилированный hello001.exe.

На данной стадии изучения
мне совсемне нужно создание проекта.
нужно лишь создать файл "cpp" ,
откомпилировать и просмотреть результат.
А именно вывод на экран строки с текстом :
"учимся программировать на языке C++".
Мне нужна команда компилирования для командной строки "Visual Studio 2010"
И вообще обучение основано
на работе с командной строкой,
но для примеров указаны
команды для другого компилятора.
Ну, а я хотел командную строку обойти,
да вот незадача...
И если вы с данным сабжем работаете, то дайте совет,
где можно таким справочником разжиться?
Или на крайний случай сообщите по секрету его название.

Ответить   Fri, 8 Mar 2013 23:38:16 +0600 (#2697637)

 

Приветствую всех.

Да уж... Первый раз встречаю человека, который собственную неспособность обучаться
оправдывает целями обучения...
Вы задали вопрос относительно той ситуации, которая сложилась между вами и Visual
Studio и причиной которой было отсутствие у вас знаний по работе с интегрированной
системой разработки. Несколько человек в нескольких рассылках (в том числе и
я) практически разжевали вам стандартную последовательность действий по сборке
приложения в Visual Studio.
Вместо того, чтобы осмыслить услушанное, исправить собственные ошибки и получить
собранное приложение -- а в итоге научиться элементарным навыкам работы в Visual
Studio; вы теперь в качестве возражения заявляете, что вам вообще-то нужно совсем
другое!
Заявить, что вам не нужен проект, это то же самое, как если бы светловолосая
барышня за рулем джипа заявила бы, что ей вовсе не надо ехать по дороге, а ей
надо ехать туда (и махнула бы рукой в некотором направлении, пересекающем тротуары,
детскую площадку, сквер и несколько жилых домов ).
Проект -- это неотъемлимая часть той модели разработки программного продукта,
которая (модель) воплощена в Visual Studio. Если вы эту модель не способны понять
или принять, то для чего вообще схватились за Visual Studio?!

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

У Visual Studio 2010 нет командной строки для команды компилирования, потому
что Visual Studio - это интегрированная среда с графическим пользовательским
интерфейсом.
Она представляет собой интерфейсную надстройку (оболочку) над некоторым набором
утилит, среди которых есть компилятор Microsoft для языков C/C++.
Этот компилятор является консольным приложением и вы можете его запустить в командной
оболочке cmd.exe.
Как и у большинства консольных приложений, у этого компилятора есть короткая
справка, выдаваемая по ключу /?
Компилятор называется cl.exe. Надеюсь, пользоваться поиском на компьютере вы
умеете.
Однако только вызовом компилятора дело вряд ли закончится.

Разве вам под предлогом смертной казни запретили получать другие знания? Вам
что-нибудь отрежут за то, что вы научитесь грамотно работать в Visual Studio?
Тот факт, что вы где-то и чему-то обучаетесь, не оправдывает ваши ошибочные действия
по сборке проекта в Visual Studio. Так для чего вы нас всех уведомили о своем
обучении?
Кроме того, я больше чем уверен, что ни на какой работе с командной строкой обучение
не основано. Обучение основано на спецификации языка C++, а то, как и чем вы
будете компилировать примеры и учебные задания, целиком зависит от вас.
Вам лишь предлагается один из вариантов, в точности следуя которому вы получите
гарантированный результат, то есть исполняемый файл. Но поменяв компилятор, вы
уже отклонились от предложенного варианта, так что какой смысл теперь выдумывать
оправдания, ссылаясь на обучение?

Для крайне непонятливых: речь шла о справочной системе Visual Studio 2010, входящей
в состав самой среды.
Как получить справку от компилятора, я уже сказал.
Все остальное -- через google.

Анатолий.

Анатолий Камынин.

Ответить   "i_chay" Fri, 8 Mar 2013 23:32:58 +0300 (#2697672)