Автор Тема: Компилиране С++  (Прочетена 1270 пъти)

loshia21

  • Напреднали
  • *****
  • Публикации: 252
    • Профил
Компилиране С++
« -: Feb 09, 2012, 23:16 »
Здравейте,от скоро програмирам на С++ та искам да попитам.След като реша дадена задача как след това да компилирам.Ето какво правя:
Първо отварям терминал инсталирах build-essential (sudo apt-get install build-essential),работя с Убунту 10.04.
След инсталацията пиша nano programa.c.
И да кажем искам на екрана да ми излезне "Hello World"
#include<iostream>
using namespace std;
int main()
{
cout<<:"Hello World"<<endl;
return 0;
}
След което отварям нов терминал и пиша:
gcc ./programa.c - o programa

Но ми излиза:
gcc: ./programa.c: No such file or directory
gcc: no input files
Можете ли да ми кажете каде точно бъркам.
« Последна редакция: Feb 09, 2012, 23:18 от loshia21 »
Активен

dejuren

  • Напреднали
  • *****
  • Публикации: 1025
  • Distribution: Ubuntu, RedHat
  • Window Manager: lxde KDE4
    • Профил
Re: Компилиране С++
« Отговор #1 -: Feb 09, 2012, 23:22 »
Най-вероятно след nano не си записал коректно файла и gcc не го открива. Сложи една междинна стъпка:

ls -l ./programa.c

трябва да видиш името на файла, времето на създаване и т.н. в листинга.
« Последна редакция: Feb 09, 2012, 23:24 от dejuren »
Активен

http://webchat.freenode.net/?channels=ubuntu-bg
The quieter you become, the more you are able to hear.
Две седмици цъкане с мишката спестяват два часа четене на документацията.

loshia21

  • Напреднали
  • *****
  • Публикации: 252
    • Профил
Re: Компилиране С++
« Отговор #2 -: Feb 09, 2012, 23:27 »
root@dimitar-laptop:/home/dimitar# ls -l ./programa.c
ls: cannot access ./programa.c: No such file or directory
Активен

borovaka

  • Напреднали
  • *****
  • Публикации: 1331
  • Distribution: Каквото дойде
  • Window Manager: Gnome / KDE
    • Профил
Re: Компилиране С++
« Отговор #3 -: Feb 09, 2012, 23:44 »
Компилатора за C++ се казва g++. Компилираш по следния начин g++ ./sourcefile.cpp -o outputfilename
Активен

Та извода е прост: "Колкото по-големи ла*ната - толкова по-малка щетата! ... моралната де, не материалната"

loshia21

  • Напреднали
  • *****
  • Публикации: 252
    • Профил
Re: Компилиране С++
« Отговор #4 -: Feb 09, 2012, 23:55 »
Компилатора за C++ се казва g++. Компилираш по следния начин g++ ./sourcefile.cpp -o outputfilename

Пиша  g++ ./programa.cpp -o programa
Но пак ми излиза No such file directory
Активен

bop_bop_mara

  • Напреднали
  • *****
  • Публикации: 2433
  • Distribution: Debian Testing
  • Window Manager: LXDE
  • Cute and cuddly
    • Профил
Re: Компилиране С++
« Отговор #5 -: Feb 10, 2012, 00:10 »
Къде е съхранен файла? Как е кръстен?
Активен

senser

  • Напреднали
  • *****
  • Публикации: 1328
    • Профил
Re: Компилиране С++
« Отговор #6 -: Feb 10, 2012, 07:58 »
Да не би да си написал сорса (programa.c) като роот потребител, а после да се опитваш да я компилираш като нормален (като гледам промпта, който си пейстнал ме съмнява нещо такова).
Другото, което забелязах е, че си задал пътя до programa.c започващ с / - ако си я създал с нормален потребител не би трябвало да можеш да я запишеш в /.
След като ползваш Убунту, недей да пишеш като роот (не изпълнявай sudo su в терминала), използвай си твоя потребител за да създадеш програмата в домашната си директория и после пак с него я компилирай.
А за да намериш къде се намира programa.c може да изпълниш:
Код:
find / -name programa.c
Ако и така не я намериш - пак същото, но като роот (или напиши сорса отново с твоя потребител)
Активен

zxz

  • Напреднали
  • *****
  • Публикации: 615
  • Distribution: Linux Mint 18.2
  • Window Manager: XFCE
    • Профил
Активен

buserg

  • Напреднали
  • *****
  • Публикации: 24
    • Профил
Re: Компилиране С++
« Отговор #8 -: Feb 10, 2012, 12:04 »
1-во: Инсталираш g++;
2-ро: Инсталираш си codeblocks;

След като си начинаещ, това е най-добрия вариант за теб.
Активен

bop_bop_mara

  • Напреднали
  • *****
  • Публикации: 2433
  • Distribution: Debian Testing
  • Window Manager: LXDE
  • Cute and cuddly
    • Профил
Re: Компилиране С++
« Отговор #9 -: Feb 10, 2012, 14:08 »
1-во: Инсталираш g++;
Той не идва ли с build-essential?

loshia21, подозирам, че при теб, освен обърквацията с това какво разширение трябва да сложиш и кой компилатор да ползваш, има и проблем със запазването на файла (т.е. си го написал, но не си го запазил, преди да излезеш от редактора).

По принцип процедурата е следната:
1. Проверяваш в коя директория се намираш в момента (pwd) или се придвижваш до директорията, в която ще оперираш.
2. Написваш си файла с който редактор ти харесва. Кръщаваш го, като му слагаш разширение .cpp (или някое друго за C++ код) и го запазваш. Излизаш от редкатора (освен ако не знаеш как през него да компилираш и пускаш програмата).
3. Може да провериш, че файлът присъства (ls). Може да му видиш и съдържанието (cat).
4. Компилираш: g++ file.cpp -o file (тук не е нужно да пишеш ./file.cpp или ./file)
5. Може да провериш, че изпълнимият файл присъства.
6. Пускаш: ./file

Слагам и картинка от тези стъпки (използвам vim, а не nano, няма никакво значение). Обърни внимание, че имаш грешка в кода, който си ни пейстнал.

« Последна редакция: Feb 10, 2012, 14:12 от bop_bop_mara »
Активен