linux - 如何将 "myfile.exe"作为独立可执行文件运行,而不在 Cygwin 上运行 "Startxwin"?

标签 linux cygwin executable x11

我有在 Cygwin 中创建的“myfile.exe”。当你运行它时,会弹出一个黑色窗口并显示:

正在解析...

正在解析...

。 。 .

无法打开显示!

所以,我发现我需要通过 Cygwin 运行这个可执行文件并输入:

'startxwin'

然后会弹出一个白色窗口,从那里我可以通过输入运行“myfile.exe”:

'./myfile.exe'。

但是,当我拥有“myfile.exe”的最终版本时,我希望最终用户只需单击一次即可运行它,然后它就会运行该程序!

在 StackOverFlow 中我找不到类似的问题,但我的直觉告诉我,我也许可以在 Cygwin 文件夹中的某个位置自动构建“startxwin”,或者找到其他解决方案!

那么,您认为以下哪个选项更可行:

  1. 编写一段代码,在 Cygwin 文件夹中创建“内置”startxwin,当您使用“make all”时,它会自动为您提供创建独立可执行文件的机会?

  2. 或者还有另一种方法可以做到这一点,例如找到另一个 Linux 编译器(例如 MinGW 等)并尝试一下?

****请不要建议我在 Visual Studio 或基于 Windows 的 IDE 中编译我的文件,因为原始文件使用了 FLTK 并且它们是基于 Linux 的!

最佳答案

您有两个问题需要处理:

  1. 您的可执行文件必须在 Cygwin 子系统中运行
  2. 您的可执行文件还需要 X11 显示器

处理这些问题的一种方法是让 Cygwin 在程序本身启动时调用 startxwin 和您的程序。然后,当您双击 Cygwin 桌面图标时,您的程序也会启动。为了实现这一点,您可以将以下内容添加到 Cygwin 内的 .bash_profile 文件中:

[ -e ~/myFile.exe ] && startxwin ~/myFile.exe

这表示,如果 ~/myFile.exe 存在,则以 ~/myFile.exe 作为参数调用 startxwin (启动 X11)。这会告诉 startxwin 在 X11 系统准备就绪后启动 myFile.exe

关于linux - 如何将 "myfile.exe"作为独立可执行文件运行,而不在 Cygwin 上运行 "Startxwin"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28201643/

相关文章:

ruby - 如果值不在另一个哈希中,则从循环中的哈希中删除值

cygwin - 如何改善windows上babun中zsh的加载时间?

cygwin - cygwin 中的 sys/resource.h

Python:尝试创建 unix 命令行可执行文件的简单示例 - 为什么它不起作用?

linux - Bash 脚本杀死所有程序并在一分钟后重新启动它们

linux - 文件权限含义

python - Ubuntu下编译Cx-Freeze

c# - 菜鸟 file.copy 问题在复制 .exe 文件时出现问题 C#

linux - QT可以打开一个Linux终端然后写入吗?

bash -/dev/stdin 与 herestring