Запустите вашу программу в эмуляторе терминала в командной строке , используя интерактивную оболочку . . Будьте в курсе PATH
переменная (вы можете изменить ее, настроив интерактивную оболочку, например, в ~/.bashrc
).Ваша оболочка будет использовать execve (2) (после globbing ) для запуска вашего исполняемого бинарного файла (поэтому он должен оставаться на каком-то исполняемом разделе, как ответил )по YSC и быть исполняемым - см. stat (2) ).Вы хотите увидеть stdout и stderr выходных данных вашей программы.См. Также этот ответ.
Используйте g++
со всеми предупреждениями и информацией отладки, поэтому g++ -Wall -Wextra -g
.Избегайте именования test
вашей программы (это имя конфликтует с test (1) ).Если ваш исполняемый файл использует другие библиотеки, вам может потребоваться явно указать rpath во время ссылки.
Только в том случае, если ваша программа является GUI программой (например, кодируется для набор инструментов для виджетов как Qt ), если вы хотите (в конечном итоге) запустить его на своем рабочем столе одним щелчком мыши (подробности могут быть связаны с средой рабочего стола ),Вы будете беспокоиться об этом гораздо позже (и, вероятно, даже не должны, и оставите это бремя для своего пользователя или упаковщика вашей программы).
Я делаюВы уверены, что программа [....] рассматривается как исполняемый файл файловым менеджером?
Это вопрос системного администратора, который может зависеть от вашей среды рабочего стола или оконный менеджер .Сначала я не буду беспокоиться, но позже у вас может быть некоторая настольная запись (в некоторых файлах, заканчивающихся .desktop
), описывающая вашу программу.Поэтому используйте редактор, чтобы создать этот asdff.desktop
текстовый файл (он, вероятно, должен находиться в вашем каталоге $HOME/Desktop/
и должен содержать абсолютные пути к файлам).
Exec=./home/miguel/Desktop/asdff
.
является опечаткой, должно быть Exec=/home/miguel/Desktop/asdff
без какой-либо точки.
Каждая программа в Linux запускается с помощью execve (2) (сделанооболочкой, средой рабочего стола или другой программой).Вы должны использовать оболочку в эмуляторе терминала для запуска большинства ваших программ , особенно при их разработке.И, конечно же, вы должны ожидать, что ваши пользователи будут запускать вашу программу со своей оболочкой (я ненавижу запускать программы с помощью мыши), возможно, в каком-нибудь сценарии оболочки , объединяющем вашу программу с другими.Читайте также о философии Unix .