Почему моя программа на C ++ открывается в текстовом редакторе после компиляции?

386
Marc.2377

Я только что скомпилировал программу на C ++, которая не консольная, а графическая, с использованием gtkmm.

После сборки с помощью g ++ я могу запустить его, набрав ./program из терминала. Однако, если я попытаюсь выполнить его, дважды щелкнув по Диспетчеру файлов, он не запустится - вместо этого откроется в текстовом редакторе. Он даже не спрашивает меня, хочу ли я выполнить или открыть в текстовом редакторе, как если бы это был, например, скрипт bash.

Для этого файла установлен исполняемый бит.

Почему это происходит?

0
Какую команду вы использовали для компиляции? DrZoo 6 лет назад 0
@DrZoo `g ++ randolfi.cpp -o randolfi` с длинным списком путей включения и библиотек (использующих` -I` и `-l` соответственно) из gtkmm и зависимостей. Marc.2377 6 лет назад 0
Сколько у вас файлов? DrZoo 6 лет назад 0
Вы должны сделать что-то вроде `g ++ helloworld.cpp -o helloworld 'pkg-config gtkmm-XX --cflags --libs'` Где X и X - версия, например,` gtkmm-3.0` idk - текущая версия. Замените «» на «. Я использовал только их, чтобы не форматировать DrZoo 6 лет назад 0
@DrZoo Хм, я не задумывался о передаче вывода из pkg-config напрямую в команду сборки. Но я действительно использовал это, только я копировал результаты. В любом случае, моя проблема вообще не связана с процессом сборки. Он запускается из терминала, а также из созданной мной настольной программы запуска. Marc.2377 6 лет назад 0
Я просто не уверен, что ты пропустил шаг. Вы должны сделать компиляцию g ++ дважды. Один раз для .cpp, затем один раз для .o файла, затем выполните `. / Program` DrZoo 6 лет назад 0

1 ответ на вопрос

1
Marc.2377

По-видимому, после прочтения здесь ( https://unix.stackexchange.com/a/335763/154671 ), это просто больше невозможно в файлах GNOME и, соответственно, Nemo, который я использую в качестве файлового браузера.

Похожие вопросы