【问题标题】:How to compile some C code on 64-bit Windows 7 machine using gcc 4.5.3如何使用 gcc 4.5.3 在 64 位 Windows 7 机器上编译一些 C 代码
【发布时间】:2012-02-02 23:16:19
【问题描述】:

我正在尝试为 Stata(一种统计编程语言)编译一个用 C 编写的插件。它的作者能够在 32 位 PC Windows(使用 Cygwin)上使用以下命令在其他机器上编译它:

gcc -shared -mno-cygwin stplugin.c strgroup.c -O3 -funroll-loops -o strgroup.PC.Windows.plugin

他还能够在 64 位 Unix 上编译它:

gcc -shared -fPIC -DSYSTEM=OPUNIX stplugin.c strgroup.c -O3 -funroll-loops -o "strgroup.PC (64-bit x86-64).Unix.plugin"

Macintosh OS X:

gcc -bundle -arch i386 -arch x86_64 -arch ppc -DSYSTEM=APPLEMAC stplugin.c strgroup.c -O3 -funroll-loops -o "strgroup.Macintosh.MacOSX.plugin"

我正在尝试使用 Cygwin 1.7.9-1 和 gcc v4.5.3 在 64 位 Windows 7 机器上编译它。 mno-cygwin 标志给我带来了麻烦,但我无法弄清楚如何使用面向 mingw 的交叉编译器。

【问题讨论】:

  • “给我找麻烦”有点含糊。
  • 消息是“gcc:-mno-cygwin 标志已被删除;使用面向 mingw 的交叉编译器。”

标签: c gcc


【解决方案1】:

-mno-cygwin 选项是 no longer supported

安装mingw-*mingw64-i686-*mingw64-x86_64-* 工具链(Cygwin 包管理器中的Devel 类别)以获得适当的交叉编译器。

【讨论】:

  • 我已经安装了这些,但我很困惑应该使用哪个标志。 gcc 的手册页似乎有很多选项,我不太确定使用哪一个:-mconsole -mcygwin -mno-cygwin -mdll -mnop-fun-dllimport -mthread -municode -mwin32 -mwindows -fno-set-stack-executable
  • 我是个白痴。我误解了你的意思。以下代码有效:`x86_64-w64-mingw32-gcc -shared stplugin.c strgroup.c -O3 -funroll-loops -o strgroup.plugin'。
猜你喜欢
  • 1970-01-01
  • 2014-01-11
  • 2018-06-21
  • 1970-01-01
  • 2011-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-17
相关资源
最近更新 更多