【发布时间】:2017-02-20 15:04:11
【问题描述】:
我正在尝试使用 MingW-Cygwin 构建 c 源文件,当我使用 gcc source.c -o test 时,结果工作正常,编译后的 exe 文件中的每个函数都可以,但 exe 需要 [cygwin1.dll] 才能工作。
当我使用gcc -mno-cygwin source.c -o test 时,编译后的 exe 无需 dll 即可运行,但 exe 文件的功能不起作用(exe 卡住)。
我尝试了所有 gcc 版本和 cygwin 和 mingw[w64],结果都一样。
我有一个以前编译的 exe,它不需要 dll 文件就可以正常工作,所以我搜索了编译器并检测到 {MinGW(GCC: (GNU) 4.9.3 20150626 (Fedora Cygwin 4.9.3-1))[- ]}。
所以任何人都可以帮助我编译没有错误的文件或上面列出的 Fedora cygwin 的链接,因为我搜索了很多但没有找到任何东西。
注意:我也尝试在 linux 中进行交叉编译,结果相同,exe 卡住了!
【问题讨论】:
-
“卡住”不是一个词。实际发生了什么?
-
冻结没有任何工作
-
据我所知
cygwin1.dll包含 Windows 缺少的 Posix 函数。因此,请检查您正在使用的 Posix 函数在cygwin1.dll -
我不想编辑源代码中的任何东西,因为它只能在 MinGW(GCC: (GNU) ..* *** ***** (Fedora Cygwin ..*-*
-
某处可能存在未定义行为,请显示一些代码