【问题标题】:GCC -mno-cygwin option destroys exe functionsGCC -mno-cygwin 选项会破坏 exe 函数
【发布时间】: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 ..*-*
  • 某处可能存在未定义行为,请显示一些代码

标签: c windows gcc


【解决方案1】:

感谢每一位感兴趣的人,但我通过使用自己的方法将 exe 与 .dll 文件合并解决了问题,一切正常..

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-02-13
    • 1970-01-01
    • 2011-08-27
    • 1970-01-01
    • 1970-01-01
    • 2012-11-15
    • 1970-01-01
    • 2016-05-06
    相关资源
    最近更新 更多