我已经使用gcc通过cygwin编写并编译了一个程序,当我从命令行运行程序时,一切正常;但是,当我双击可执行文件时,命令窗口会在屏幕上短暂闪烁,但没有任何反应。任何想法为什么会这样?我使用的是Windows 7。
答案 0 :(得分:2)
在执行为该环境编译的文件时,Cygwin要求cygwin.dll
在PATH
中。当您使用cygwin编译某些内容时,您正在编译 for cygwin。
如果您计划构建程序,我建议您改用MinGW。使用mingw编译内容时,您正在编译 for windows。
答案 1 :(得分:1)
例如,您有打印“Hello World!”的程序。命令行。 它将打印“Hello World!”如果它是从cmd打开的,但如果你双击它,它会打印它并立即关闭窗口。
尝试使用getch()
来阻止它。它将打印“按任意键继续”。
答案 2 :(得分:1)
当您在cygwin中编译程序时,它会将它们与动态库cygwin.dll链接。如果此文件的位置不在您的PATH变量中,则您的程序将不会在cygwin之外运行。因此,找到cygwin.dll并将该目录添加到系统PATH变量。
答案 3 :(得分:0)
它是图形应用程序吗?如果没有,它没有得到输入,所以它可能开始,看到EOF(如果它完全检查输入),然后完成。完成后,终端窗口会自动关闭。