【发布时间】:2015-03-27 21:46:27
【问题描述】:
我有在 Cygwin 中创建的“myfile.exe”。当你运行它时,会弹出一个黑色窗口并显示:
正在解析...
正在解析...
。 . .
无法打开显示!
所以,我发现我需要通过Cygwin运行这个可执行文件并输入:
'startxwin'
然后会弹出一个白色窗口,从那里我可以通过输入运行“myfile.exe”:
'./myfile.exe'.
但是,当我拥有“myfile.exe”的最终版本时,我希望最终用户只需单击一次即可运行它并运行程序!
在 StackOverFlow 中我找不到类似的问题,但我的直觉告诉我,我可能能够在 Cygwin 文件夹的某个位置自动构建“startxwin”或找到其他解决方案!
那么,您认为以下哪个选项更可行:
-
编写一段代码,在 Cygwin 文件夹中创建一个“内置”startxwin,当您使用“make all”时,它会自动为您提供创建独立可执行文件的机会?
或者还有其他方法可以做到这一点,例如找到另一个 Linux 编译器,例如 MinGW 等并在那里尝试?
****请不要建议我在 Visual Studio 或基于 Windows 的 IDE 中编译我的文件,因为原始文件使用 FLTK 并且它们是基于 Linux 的!
【问题讨论】:
-
您可以将
startxwin myfile.exe添加到您的 .bash_profile ... 然后它应该在您打开 Cygwin 时启动。您可能还想添加检查以确保它尚未运行。 -
Markku 我应该在我的 '.bash_profile' 中使用 if 语句吗?或者干脆使用 startxwin myfile.exe?
-
这取决于你想要什么。一种可能性是你可以在你的 .bash_profile 中添加这样的内容:
[ -e startMyFile ] && ./startMyFile。然后将startx myfile.exe放入一个名为startMyFile的文件中。 .bash_profile 中的行仅在 startMyFile 脚本存在时才会执行。 -
Markku,我想让 MyFile.exe 在单击后运行!所以假设我有你所说的命令行: [ -e startMyFile ] && ./startMyFile 但是,我没有得到你提到的文件。你说:把 startx myfile.exe 放在一个名为 startMyFile 的文件中 你在说什么文件?
-
我把这个想法的大纲放在一个答案中——在那里更容易阅读。答案不使用 startMyFile 文件,只使用 .bash_profile 和您的可执行文件。
标签: linux cygwin executable x11