我用 C++ 编写了一个模拟代码,并使用 将其编译成可执行文件g++
。但是,双击输出文件时没有任何反应。我也选中了“允许文件用作可执行文件”,但仍然没有任何反应。我应该尝试其他方法吗?还是出了什么问题?
编辑:尽管我之前删除了 WINE,但它仍设置为作为 WINE 应用程序运行apt-get purge
。这可能是问题所在吗?也许我应该尝试使用其他程序来运行它。它实际上应该设置为默认值吗?
编辑2:我使用以下命令执行编译:
$ sudo g++ -o main main.cpp
它是一个没有 GUI 的简单命令行应用程序。
答案1
如果您的应用程序没有 GUI(IE 仅提供控制台输出),您将看不到任何内容,因为双击文件管理器中的可执行文件时不会打开终端。但是,您的应用程序应该在后台运行。
您可以通过以下方式从现有 shell 运行可执行文件./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
然后可以将其设置为可执行文件,然后从文件导航器中双击并查看终端输出。这就是应用程序快捷方式在菜单中构建的方式,以及它们如何获得友好的名称和图标。
答案2
尝试在终端中运行它。如果它是一个命令行程序,那么在文件管理器中双击可执行文件将无法执行很多操作。在终端中运行以下命令:
cd /path/to/directory
/path/to/directory
用二进制文件所在目录的路径替换;
sudo chmod +x binaryName
确保您的二进制文件是可执行的(用其名称替换 binaryName);
./binaryName
去执行它。