2

我有一个我在 cygwin 中编译的程序,我试图从一个批处理文件中调用它:

D:\cygwin\bin\bash --login -i C:/ILS/trunk/NAVAID/test.exe

但我收到错误:

bash: C:/ILS/trunk/NAVAID/test.exe: cannot execute binary file

当我在 cygwin 中提交 test.exe 时,我得到:

test.exe: PE32 executable (console) Intel 80386, for MS Windows

任何想法为什么它不会运行?我在网上发现的大多数错误都来自试图运行 Linux 应用程序的人,但这是直接在 cygwin(在同一台机器上)中编译的(通过 g++)。

如果重要的话,在 Windows 8 上。

4

1 回答 1

5

你可以试试-c <command >

D:\cygwin\bin\bash --login -c C:/ILS/trunk/NAVAID/test.exe

这将在 bash shell 下运行 test.exe。-c 选项的详细信息

调用时可能会提供几个单字符选项,这些选项在 set 内置函数中不可用。

-c string Read and execute commands from string after processing the options, then exit. Any remaining arguments are assigned to the positional parameters, starting with $0.

-i starts an interactive shell, that is not something you want in this case.

Finally for the sake of completion - bash has --rcfile <file path> option to give a startup file.

于 2013-03-31T02:42:27.613 回答