Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.043 секунд. Запросов: 25.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Запуск скомпилированного файла в ubuntu
Всем привет , интересуюсь c++ , вот появился вопрос , скомпилировал я код, появляется у меня скомпилированный файл который надо запустить , но он в формате exe , wine у меня не установлен , можно ли сделать чтобы компилятор создал программу не в .exe формате а в том формате , который я бы смог открыть через ubuntu ? Либо сделать универсальный формат , если есть такой .
Отслеживать
9,066 14 14 серебряных знаков 26 26 бронзовых знаков
задан 11 окт 2016 в 23:40
1,395 19 19 серебряных знаков 49 49 бронзовых знаков
1 Что мешает вам скомпилировать код в gcc под Убунтой для нативной платформы? 2 Что мешает вам в Убунте установить и настроить wine?
12 окт 2016 в 1:46
Я в курсе про Wine , меня интересует можно ли задать правило компилятору , чтобы он создал бинарник не в .exe формате , а в том на который нажав мышкой 2 раза , он откроется как и с .exe на винде
12 окт 2016 в 2:01
Если вы под Убунтой в gcc компилируете exe-файл, то есть исполняемый файл для платформы win-32, если я вас правильно понял, тогда сами понимаете, что это возможно, так как gcc по умолчанию, компилирует под нативную платформу (x86_64). Только, как вам написали в ответе, не всякий код написанный под одну платформу, без учёта кросс-компиляции, возможно сходу собрать под другой.
12 окт 2016 в 2:18
g++ -o hello main.cpp , он не компилирует под ubuntu , такойже обычный .exe файл
12 окт 2016 в 11:20
я вас понял , но вопрос был в том что , как через gcc скомпилировать исполняемый файл для ubuntu так , чтобы он открылся при нажатии на него 2йным щелчком ( также как .exe в винде)
12 окт 2016 в 22:35
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Кривой путь: гуглить про кросс-компиляцию. Например, если Cygwin, то (примерно, давно такой ерундой не занимался):
- Качаем последнюю версию crosstool-ng
- Распаковываем её куда-нибудь в cygwin shell, запускаем ./configure (доустанавливаем то, на что она матерится — bison, flex, cvs, wget, исходники/библиотеку ncurses, и т.д.)
- make , make install , и дальше — по инструкциям отсюда.
Неожиданный путь: поставить Open Watcom для Windows (при установке не забыть поставить галочку у Linux в target platform). Создание нового проекта в нём:

Может прокатить 🙂 Хотя поддержки последних стандартов от него ждать не приходится, но «Hello, world» исправно собирает 🙂
Правильный путь: поставить убунту в виртуалке и собирать в ней.
И в любом случае готовиться к тому, что исходники, без проблем собирающиеся под Windows, придётся дорабатывать напильником. После чего может возникнуть желание пойти по совсем правильному пути: работать под Linux, а Windows держать в виртуалке 🙂
Либо сделать универсальный формат , если есть такой .
Как запустить скомпилированную программу в Linux ( Ubuntu ) без терминала?
Пытаюсь начать программировать в Linux, и сразу вопрос проблема. В Windows написал код, скомпилировал, получил на выходе ЕХЕшник. Двойной щелчок по программе, она запустилась. В Linux написал простую программу на С в блокноте ( для начала ), скомпилировал gcc prog.c -o prog, получил на выходе файл. Но Я ее могу запустить только через терминал командой ./prog .А как запускать программы по двойному щелчку мыши? А если вы еще дадите простой код с кнопкой и обработкой события по нажатию этой кнопки или любую другую полезную информацию по этой теме ( кроссплатформенность например ), Я вам искренне буду благодарен. Хочется дальше развиваться.
- Вопрос задан более трёх лет назад
- 2903 просмотра
2 комментария
Простой 2 комментария
Попробуй sudo chmod +x *Название файла*.
Эта команда разрешит исполнение файла.
Попробуй sudo chmod +x *Название файла*.
Из вопроса:
Я ее могу запустить только через терминал командой ./prog
Решения вопроса 1

Алексей Черемисин @leahch Куратор тега Linux
Я мастер на все руки, я козлик Элек Мэк 🙂
В линуксе, как и в виндовс, как и во всех остальных операционных системах (мне знакомых), есть два типа программ: консольные и с графическим интерфейсом.
Консольные программы требуют наличия какого-то терминала или консоли, соответсвенно их хоть и можно запустить по двойному щелчку, не всегда результат их работы будет виден, если дополнительно не указать в каком окружении их запускать.
Про программы с графическим интерфейсом все просто — они сразу пытаются открыть графическое окно. Но сама программа будет немного сложнее.
Так, Вы сделали и скомпилировали консольную программу. В этом же терминале можно ее и запустить.
Либо сделать «лаунчер» типа
xterm ./prog
Как сделать «лаунчер», зависит от вашего графического окружения, но обычно можно просто сделать desktop-файл, его практически все в линуксе понимают.
Просто создайте текстовый файл prog.Desktop со следующим содержимым (Exec — полный путь до вашей программы, Icon — путь до иконки, но можно без нее)
[Desktop Entry] Encoding=UTF-8 Version=1.0 Type=Application Terminal=true Exec=/path/to/executable Name=Name of Application Icon=/path/to/icon
ЗЫ. Да, забыл напомнить, сделайте в вашей программе выход по ожиданию нажатия на клавишу, иначе можно ничего и не рассмотреть!
Как написать и запустить программу на языке C в Linux
Linux — это рай для разработчиков, потому что это операционная система с открытым исходным кодом, свободно распространяемая и предлагающая бесплатные инструменты программирования для всех популярных языков программирования. В этой статье мы расскажем вам, как написать, скомпилировать и запустить простую программу на языке Си в Ubuntu Linux. Это послужит вам основой для перехода к более сложным и полезным программам на Си, которые вы можете написать и запустить на Linux.
Для компиляции простой программы на языке C мы используем инструмент командной строки Linux — терминал. Чтобы открыть терминал, вы можете использовать Ubuntu Dash или комбинацию клавиш Ctrl+Alt+T.
Шаг 1: Установите необходимые для сборки пакеты
Для компиляции и выполнения программы на языке C необходимо, чтобы в вашей системе были установлены необходимые пакеты. Введите следующую команду от имени root в терминале Linux:
sudo apt-get install build-essential

Вам будет предложено ввести пароль для root; после этого начнется процесс установки. Пожалуйста, убедитесь, что вы подключены к интернету.
Шаг 2: Напишите простую программу на языке C
После установки необходимых пакетов, давайте напишем простую программу на языке C.
nano sampleProgram.c
Откройте графический текстовый редактор Ubuntu и напишите или скопируйте в него следующий пример программы:
#include int main()
Затем сохраните файл. В этом примере я назвал свою программу на языке Си как sampleProgram.c

Шаг 3: Скомпилируйте программу на языке C с помощью компилятора gcc
В терминале введите следующую команду, чтобы создать исполняемую версию написанной вами программы:
gcc [ИмяФайла].c -o [ИмяПрограммы]
gcc sampleProgram.c -o sampleProgram
Шаг 4: Запуск программы
Последний шаг — запуск скомпилированной программы на языке C. Для этого используйте следующий синтаксис:
./Имя программы
./sampleProgram

Вы можете видеть, как программа выполняется в приведенном выше примере, отображая текст, который мы написали для печати через нее.
Из этой статьи вы узнали, как написать, скомпилировать и запустить простую программу на языке C в Linux.
Форум русскоязычного сообщества Ubuntu
Страница сгенерирована за 0.034 секунд. Запросов: 25.
- Сайт
- Об Ubuntu
- Скачать Ubuntu
- Семейство Ubuntu
- Новости
- Форум
- Помощь
- Правила
- Документация
- Пользовательская документация
- Официальная документация
- Семейство Ubuntu
- Материалы для загрузки
- Совместимость с оборудованием
- RSS лента
- Сообщество
- Наши проекты
- Местные сообщества
- Перевод Ubuntu
- Тестирование
- RSS лента
© 2012 Ubuntu-ru — Русскоязычное сообщество Ubuntu Linux.
© 2012 Canonical Ltd. Ubuntu и Canonical являются зарегистрированными торговыми знаками Canonical Ltd.
Запуск скомпилированного файла в ubuntu
Всем привет , интересуюсь c++ , вот появился вопрос , скомпилировал я код, появляется у меня скомпилированный файл который надо запустить , но он в формате exe , wine у меня не установлен , можно ли сделать чтобы компилятор создал программу не в .exe формате а в том формате , который я бы смог открыть через ubuntu ? Либо сделать универсальный формат , если есть такой .
Отслеживать
9,066 14 14 серебряных знаков 26 26 бронзовых знаков
задан 11 окт 2016 в 23:40
1,395 19 19 серебряных знаков 49 49 бронзовых знаков
1 Что мешает вам скомпилировать код в gcc под Убунтой для нативной платформы? 2 Что мешает вам в Убунте установить и настроить wine?
12 окт 2016 в 1:46
Я в курсе про Wine , меня интересует можно ли задать правило компилятору , чтобы он создал бинарник не в .exe формате , а в том на который нажав мышкой 2 раза , он откроется как и с .exe на винде
12 окт 2016 в 2:01
Если вы под Убунтой в gcc компилируете exe-файл, то есть исполняемый файл для платформы win-32, если я вас правильно понял, тогда сами понимаете, что это возможно, так как gcc по умолчанию, компилирует под нативную платформу (x86_64). Только, как вам написали в ответе, не всякий код написанный под одну платформу, без учёта кросс-компиляции, возможно сходу собрать под другой.
12 окт 2016 в 2:18
g++ -o hello main.cpp , он не компилирует под ubuntu , такойже обычный .exe файл
12 окт 2016 в 11:20
я вас понял , но вопрос был в том что , как через gcc скомпилировать исполняемый файл для ubuntu так , чтобы он открылся при нажатии на него 2йным щелчком ( также как .exe в винде)
12 окт 2016 в 22:35
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Кривой путь: гуглить про кросс-компиляцию. Например, если Cygwin, то (примерно, давно такой ерундой не занимался):
- Качаем последнюю версию crosstool-ng
- Распаковываем её куда-нибудь в cygwin shell, запускаем ./configure (доустанавливаем то, на что она матерится — bison, flex, cvs, wget, исходники/библиотеку ncurses, и т.д.)
- make , make install , и дальше — по инструкциям отсюда.
Неожиданный путь: поставить Open Watcom для Windows (при установке не забыть поставить галочку у Linux в target platform). Создание нового проекта в нём:

Может прокатить 🙂 Хотя поддержки последних стандартов от него ждать не приходится, но «Hello, world» исправно собирает 🙂
Правильный путь: поставить убунту в виртуалке и собирать в ней.
И в любом случае готовиться к тому, что исходники, без проблем собирающиеся под Windows, придётся дорабатывать напильником. После чего может возникнуть желание пойти по совсем правильному пути: работать под Linux, а Windows держать в виртуалке 🙂
Либо сделать универсальный формат , если есть такой .
Как запустить файл из командной строки?
Как запустить файл из командной строки? Когда из Nautilus’а запускаю, то просто два раза щелкаю по нему мышкой, а как из командной строки файл запустить?
Можно выполнить (запустить) файл в командной строке, набрав команду:
sh название-файла
Также можно просто указать имя файла (если он доступен для запуска) и нажать Enter:
./filetorun
Обратите внимание, что перед файлом нужно указать путь до него или, если вы уже находитесь в директории, в которой лежит файл, то перед именем файла нужно поставить «./». Это указывает на то, что вы запускаете файл именно из текущей директории.
Войдите, чтобы ставить лайки мне нравится
войдите, чтобы ставить лайки
LibreBay
Статьи про ОС Ubuntu. Языки программирования Си и C++.
Инструменты разработки и многое другое.
понедельник, 5 декабря 2016 г.
Как скомпилировать программу на C/C++ в Ubuntu

Помню, когда я только начинал программировать, у меня возник вопрос: «Как скомпилировать программу на C в Ubuntu?» Для новичков это не легкая задача, как может показаться на первый взгляд.
Мой путь изучения C начался с бестселлера «Брайан Керниган, Деннис Ритчи, Язык программирования C, 2-е издание». Там рассказывается как скомпилировать программу в операционной системе Unix, но этот способ не работает в Linux. Авторы книги выкрутились, написав следующее:
В других системах это процедура будет отличаться. Обратитесь к справочнику или специалисту за подробностями.
Побуду специалистом 🙂 и расскажу в данной статье, как скомпилировать первые программы на C и заодно на C++ в терминале Ubuntu.
Текстовый редактор gedit
Для написания первых программ подойдет обычный, используемый по умолчанию в Ubuntu, текстовый редактор с подсветкой синтаксиса — gedit.
![]() |
| Рис. 1. Запуск текстового редактора. |
Первой программой по традиции является «Hello, World!», выводящее приветствие на экран:
#include int main(int argc, char **argv)
Печатаем или копируем текст программы в gedit и сохраняем в файл Hello.c , например, на рабочий стол. Не самое лучше место для сохранения, но это позволит рассмотреть случай, когда в имени директории содержится пробел.
![]() |
| Рис. 2. Программа hello, World. |
Компиляция программы на C
Теперь запускаем терминал, можно через Dash, а можно с помощью горячих клавиш + + . Здесь в начале установим инструменты сборки, куда входят необходимые компиляторы gcc для языка C и g++ для языка C++:
sudo apt install build-essential
Для установки требуется ввести пароль, при вводе которого может сложиться впечатление, что ничего не происходит, но на самом деле терминал просто в целях безопасности не отображает символы.
Далее в терминале нам необходимо перейти в директорию, куда сохранили файл с текстом программы. Перемещение выполняется командой cd (англ. change directory — изменить каталог). Чтобы воспользоваться командой в начале пишется cd , затем через пробел путь , куда нужно перейти.
Для перехода на рабочий стол, команда будет следующей:
cd ~/Рабочий\ стол
Обратите внимание на символ обратной косой черты \ в имени директории Рабочий стол . Обратная косая экранирует пробел, и сообщает команде cd , что пробел и следующие за ним символы являются частью имени. Символ ~ в начале пути обозначает путь до домашней папки пользователя.
Для просмотра содержимого директории применяется команда ls (сокращение от англ. list).
![]() |
| Рис. 3. Работа в терминале. |
Команда компиляции для программы на C выглядит следующим образом:
gcc -Wall -o hello hello.c
- gcc — компилятор для языка программирования C;
- -Wall — ключ вывода всех предупреждений компилятора;
- -o hello — с помощью ключа -o указывается имя выходного файла;
- hello.c — имя нашего исходного файла, который компилируем.
В завершение запустим hello , вводом имени программы с префиксом ./ :
./hello
Префикс ./ сообщает терминалу о необходимости выполнить программу с заданным именем в текущем каталоге. (Точка — это условное название текущего каталога.)
![]() |
| Рис. 4. Работа в терминале, продолжение. |
Компиляция программы на С++
Программы на C++ компилируются аналогично, как и программы на C. «Hello, World!» на C++ можно написать так:
#include int main(int argc, char **argv)
Сохраняем текст программы в файл под именем hello2.cpp . Таким образом, команда компилирования будет иметь вид:
g++ -Wall -o hello2 hello2.cpp
Для запуска результата вводим в терминале:
./hello2
Заключение
Данный способ позволяет скомпилировать программу лишь из одного файла с исходным кодом. Но этого вполне достаточно, чтобы начать изучение языков программирования C/C++ по книгам или по статьям в интернете.
- Иванов Н. Н. — Программирование в Linux. Самоучитель. — 2-е издание;
- Нейл Метьэ, Ричард Стоунс — Основы программирования в Linux: Пер. с англ. — 4-е издание;
- Колисниченко Д. Н. — Разработка Linux-приложений.



