| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Не могу скомпилировать первую программу |
| Автор: Кок 24.7.2008, 12:20 |
| Добрый день, всем кто откликнется! Сам занялся программированиеим, купил книгу Герберт Шилдт"базовый курс" при компилирование первой программыы возникло куча проблем надеюсь обратился по адресу! // myp1.h #pragma once using namespace System; namespace myp1g /* программа номер один */ #include <iostream> using namespase std; //main () - начало выполнения программы. int main () { cout << это моя первая программа."; return 0; } все списано с книги, дальше при компиляции как написано в книге выходит следующие: Setting environment for using Microsoft Visual Studio 2005 x86 tools. C:\Program Files\Microsoft Visual Studio 8\VC>cl -GX myp1.cpp Microsoft ® 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86 Copyright © Microsoft Corporation. All rights reserved. cl : Command line warning D9035 : option 'GX' has been deprecated and will be re moved in a future release cl : Command line warning D9036 : use 'EHsc' instead of 'GX' myp1.cpp c1xx : fatal error C1083: Cannot open source file: 'myp1.cpp': No such file or d irectory C:\Program Files\Microsoft Visual Studio 8\VC> В чем проблема подскажите пожайлуста что не так делаю? |
| Автор: Walker 24.7.2008, 12:27 | ||||
Ошибка:
Ваш файл:
Как говорится, почувствуйте разницу. Вместо файла с кодом С++ Вы создали http://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BE%D1%87%D0%BD%D1%8B%D0%B9_%D1%84%D0%B0%D0%B9%D0%BB. |
| Автор: CDell 24.7.2008, 12:28 |
| Кавычку пропустил cout << "это моя первая программа."; |
| Автор: Кок 24.7.2008, 12:44 |
Если я правильно понял то вместо myp1.cpp нужно писать myp1.h тогда получается следующие: Setting environment for using Microsoft Visual Studio 2005 x86 tools. C:\Program Files\Microsoft Visual Studio 8\VC>cl myp1.h Microsoft ® 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86 Copyright © Microsoft Corporation. All rights reserved. cl : Command line warning D9024 : unrecognized source file type 'myp1.h', object file assumed Microsoft ® Incremental Linker Version 8.00.50727.762 Copyright © Microsoft Corporation. All rights reserved. /out:myp1.exe myp1.h LINK : fatal error LNK1181: cannot open input file 'myp1.h' C:\Program Files\Microsoft Visual Studio 8\VC> |
| Автор: anatox91 24.7.2008, 12:45 |
| если честно, не пойму зачем в первой же программе создавать пространство имен... |
| Автор: Кок 24.7.2008, 12:49 |
| Я и сам не знаю, зачем прстранство. просто руководствуюсь книгой и это первый пример который нужно выполнить |
| Автор: Walker 24.7.2008, 12:59 | ||||
Неправильно. Компилировать следует как раз
где myp1.cpp - название Вашего файла с кодом. Проверьте, так ли это. ЗЫ. Замечание так и не учли. |
| Автор: Annihilator 24.7.2008, 13:11 | ||
У Шилдта так заведено |
| Автор: Кок 24.7.2008, 13:16 |
| так в первый раз же и было так сделано, за исключением опции GX но я так понял она не обязательна. А что именно проверить и где? а на счет замечаний так я не поиму чо и как надо писать, уж простите я вообще первый раз на форумах в и-нете! |
| Автор: Walker 24.7.2008, 13:27 | ||
| 1. Опция GX не только необязательна, но и нерекомендуема. (См. warnings mess.) 2. Проверьте название файла, который Вы компилируете. 3. Над окошком, в котором Вы набираете пост имеется панель инструментов. Крайний справа элемент называется Код. При клике на нём выпадают варианты синтаксических подсветок. Выделяете цитируемый фрагмент текста в сообщении, выбираете подходящую подсветку синтаксиса, и код приобретает удобно читаемый вид. Пример:
|
| Автор: Кок 24.7.2008, 13:42 |
| Значит в самой программе Visual Studio 2005 где я его писал, в папке Projects он называется myp1 может где-то у него другое название? |
| Автор: Walker 24.7.2008, 13:43 |
| Расскажите по шагам, как Вы его создавали. |
| Автор: Кок 24.7.2008, 14:13 |
| Дело было так: Открыл Visual Studio 2005 там нажал faile >new>projekt там выбрал какойто подпункт СLR? дал название файлу myp1 и в открывшемся окошке периписал с книги эту программу (изложенную в самом начале) и все потом сохранил и вот пытаюсь скомпилировать. ОГРОМНОЕ СПАСИБО ВАМ ЗА ТО ЧТО ПОМОГАИТЕ МНЕ РАЗОБРАТЬСЯ!!!!!! |
| Автор: Walker 24.7.2008, 14:27 | ||
| Пожалуйста! Так я и думал. Выбирайте File->New Project->Win 32 Console Application. В поле Name задайте название проекта myp1. Откроется мастер. Менять ничего не нужно. Проверьте: Application type: Console Application. Additional Options: Precompiled header. Соглашаемся со всем. (Далее) ОК. Обратите внимание - на данном этапе у Вас в шаблоне уже подключен заголовочный файл stdafx.h. Можете открыть его из дерева проектов. Его содержимое - #pragma once и несколько заголовочных файлов. Соответственно, эти записи в ваш кодовый файл добавлять уже не нужно. Приведите Ваш myp1.cpp к следующему виду:
Запустите компиляцию. Запустите программу. |
| Автор: Кок 24.7.2008, 15:16 | ||
Написал вот так как в вверху только std, main, и cout у меня черного цвета а не синего. Теперь дальше сохранять и компилировать или можно как-то сразу скомпилировать не выходя из редактора. И если компилировать то писать в коммандной строке нужно следующие? cl myp2.cpp |
| Автор: Walker 24.7.2008, 15:50 | ||||
| Ах, вот оно что. И как это я сразу не догадался - Вы используете студию в качестве текстового редактора с синтаксической подсветкой, а компилятор запускаете вручную из командной строки. Тогда проблема элементарно заключалась в том, что компилятор не имел представления, где лежит Ваш файл. Обратите внимание - текущая директория
Ваш файл, скорее всего, находится не в ней. Вам нужно изменить директорию посредством команды cd. Где лежит Ваш файл? Когда Вы создавали проект. В поле Location можно указать папку для сохранения проекта. По умолчанию это
Начните поиск оттуда. Или просто найдите файл по имени. Перейдите к нему и скомпилируйте указанной выше командой. Студия обладает средствами более высокого уровня, которыми грех не воспользоваться. Из студии сборка запускается Build->Build Solution Программа Debug->Start winthout debugging. |
| Автор: Кок 24.7.2008, 16:58 |
| Ну тогда я не согрешил! и скомпилировал и запустил со студии и вроде получилось |
| Автор: Walker 24.7.2008, 22:05 |
| Примите поздравления с начинанием! Запускайте точно также (Alt+F5). exe-файл может находиться в папке проекта /bin/Debug или /bin/Release, если компилируете из студии и в той же директории, где находится кодовый файл, если компилируете из командной строки. Когда Вы узнаете о символьной отладочной информации, поймёте разницу между Debug и Release. А на данном этапе это не очень важно. Успехов в обучении! Ждём на форуме! P.S. Пожалуйста, нажмите наверху ссылку "Пометить вопрос решённым". |