g++ скомпилированное приложение не работает
Я написал код моделирования на C++ и скомпилировал его в исполняемый файл, используя g++
, Однако выходной файл ничего не делает при двойном щелчке. Я также проверил "разрешить использование файла в качестве исполняемого файла", но все равно ничего не происходит. Любые альтернативные способы я должен попробовать или что-то не так?
РЕДАКТИРОВАТЬ: он настроен для запуска в качестве приложения WINE, хотя я удалил WINE с помощью apt-get purge
Некоторое время назад Может ли это быть проблемой? Может быть, я должен попробовать другую программу, чтобы запустить его. Что на самом деле должно быть установлено по умолчанию?
РЕДАКТИРОВАТЬ 2: я выполнил компиляцию, используя:
$ sudo g++ -o main main.cpp
Это простое приложение командной строки без графического интерфейса.
2 ответа
Если ваше приложение не имеет графического интерфейса (IE выводит только консоль), вы ничего не увидите, потому что терминал не открывается при двойном щелчке исполняемого файла в файловом менеджере. Однако ваше приложение должно работать в фоновом режиме.
Вы можете запустить исполняемый файл из существующей оболочки, вызвав его ./path/to/executable
Второй, более сложный вариант - создать файл рабочего стола для запуска приложения из файла ex и настроить его на отображение вывода терминала.
Предположим, у меня есть очень простое приложение, такое как
#include <iostream>
#include <stdlib.h>
int main() {
std::cout << "hello bob" << std::endl;
system("read moo"); // pause for input at the end.
return 0;
}
И я собираю это с g++ foo.cpp
который по умолчанию выводит a.out
файл.
Тогда просто создайте foo.desktop
файл, содержащий
[Desktop Entry]
Type=Application
Name=Awesome App
Terminal=true
Exec=/path/to/a.out
какой из них может затем установить исполняемый файл, затем дважды щелкнуть в файловом навигаторе и увидеть вывод терминала. Вот как ярлыки приложений создаются в меню и получают понятное имя и значки.
Попробуйте запустить его в терминале. Если это программа командной строки, вы не сможете сделать многое, просто дважды щелкнув исполняемый файл в файловом менеджере. Запустите следующее в терминале:
cd /path/to/directory
Замена /path/to/directory
с путем к каталогу, в котором находится ваш бинарный файл;
sudo chmod +x binaryName
Чтобы убедиться, что ваш бинарный файл исполняемый (замените имя бинарного на его имя);
./binaryName
Выполнить это.