Русское сообщество Sublime Text

Основной раздел => Вопросы и ответы => Тема начата: MADONZY от Января 17, 2014, 02:09:42

Название: Компилирование проектов ANSI C
Отправлено: MADONZY от Января 17, 2014, 02:09:42
Всем доброго времени суток.
Задумался как в Саблайме компилировать проект на С. Програмирую на Linux Ubuntu 13.10 и попробовал написать build вот так:

{
    "cmd" : ["gcc", "*.h", "*.c", "-o", "${file_base_name}", "-lm"],
    "selector" : "source.c",
    "shell":false,
    "working_dir" : "$file_path",
    "variants":
     [
       {
         "name": "Run",
         "cmd":["gnome-terminal", "-e", "${file_path}/\"${file_base_name}\"", "--title=${file_base_name}"]
       }
     ]
}

в терминале выдает:

gcc: error: *.h: No such file or directory
gcc: error: *.c: No such file or directory
[Finished in 0.0s with exit code 1]
[cmd: ['gcc', '*.h', '*.c', '-o', 'program', '-lm']]
[dir: /home/alex/Documents/C/project]
[path: /usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games]

пробовал написать в терминале так:

gcc *.h *.c -o program -lm
то всё прекрасно скомпилировалось. Как реализовать данный build?
Название: Re: Компилирование проектов ANSI C
Отправлено: Loac от Января 17, 2014, 06:23:59
"cmd" : ["gcc", "*.h *.c -o ${file_base_name} -lm"]
Так не работает?
Название: Re: Компилирование проектов ANSI C
Отправлено: MADONZY от Января 17, 2014, 15:25:49
Нет, вот что выдает:
[Finished in 0.0s with exit code 4]
[cmd: ['gcc', '*.h *.c -o program -lm']]
[dir: /home/alex/Documents/C/project]
[path: /usr/lib/lightdm/lightdm:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games]gcc: error: *.h *.c -o program -lm: No such file or directory
gcc: fatal error: no input files
compilation terminated.
Название: Re: Компилирование проектов ANSI C
Отправлено: MADONZY от Января 18, 2014, 03:38:15
нет больше идей как реализовать?
Название: Re: Компилирование проектов ANSI C
Отправлено: Loac от Января 18, 2014, 07:09:36
"shell_cmd" : "gcc *.h *.c -o ${file_base_name} -lm"
Название: Re: Компилирование проектов ANSI C
Отправлено: MADONZY от Января 18, 2014, 17:37:37
Спасибо, помогло!
А так на будущее, то чем cmd отличается от shell_cmd ?
Название: Re: Компилирование проектов ANSI C
Отправлено: Loac от Января 19, 2014, 10:51:16
Насколько я понимаю, cmd колдует на параметрами, а shell_cmd отправляет в консоль как есть, только заменив переменные $.