-mno-cygwin的:GCC建筑水银(在Windows 2000) [英] -mno-cygwin : gcc building Mercurial (Windows 2000)

查看:221
本文介绍了-mno-cygwin的:GCC建筑水银(在Windows 2000)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

由于水银安装程序将不旧的Windows 2000系统上的工作,我想从源代码编译它。它的抱怨C编译器不能识别该选项的 -mno-cygwin的。我的gcc版本是4.6.1。和MinGW只有两个月大。

按照这些步骤进行: http://mercurial.selenic.com/wiki/BuildingOnWindows

  F:\\善变-2.0.2>蟒蛇setup.py构建
运行构建
运行build_mo
警告:hgbuildmo:找不到的msgfmt可执行文件,没有翻译将建成运行build_py
包init文件'善变\\ __ init__.py'未找到(或不是普通文件)
包init文件'善变\\ __ init__.py'未找到(或不是普通文件)
运行build_ext
建设mercurial.base85'延伸
F:\\ MinGW的\\ BIN \\ gcc.exe -mno-cygwin的-mdll -O -Wall - 如果:\\ python27 \\包括
- 如果:\\ python27 \\ PC -c水银/ base85.c -o建立\\ temp.win32-2.7 \\发布\\善变\\ base85.o
** cc1.exe:错误:无法识别的命令行选项-mno-cygwin的'**
错误:命令'GCC'失败,退出状态1


解决方案

从<一个href=\"http://sourceforge.net/tracker/index.php?func=detail&aid=3413937&group_id=200665&atid=974439\"相对=nofollow>由TDM-GCC MinGW的发行版开发评论:


  

由于4.6系列,GCC不再接受许多无法识别的选项
  或标志。 TDM-GCC从来没有支持-mno-cygwin的;现在,它会
  抱怨。这也是libtool的标志,如真
  -no-不确定的。


所以,你可能必须使用一个有些旧版本的编译,将忽略无意义的选项,或修复构建脚本,使他们不使用该标志(这将永远是必要的MinGW的编译器反正)。

作为后续音符,它看起来像Cygwin的编译器不再支持 -mno-cygwin的开始GCC 4:的 http://www.cygwin.com/ml/cygwin/2009-03/msg00802.html

所以这个选项已经或多或少没用几年。

Because the Mercurial Installer will not work on an old Windows 2000 system, I'm trying to build it from source. Its complaining that the C Compiler doesn't recognize the option -mno-cygwin. My version of gcc is 4.6.1. and MinGw is only two months old.

Followed these steps: http://mercurial.selenic.com/wiki/BuildingOnWindows

F:\mercurial-2.0.2>python setup.py build
running build
running build_mo
warning: hgbuildmo: could not find msgfmt executable, no translations will be built

running build_py
package init file 'mercurial\__init__.py' not found (or not a regular file)
package init file 'mercurial\__init__.py' not found (or not a regular file)
running build_ext
building 'mercurial.base85' extension
f:\mingw\bin\gcc.exe -mno-cygwin -mdll -O -Wall -If:\python27\include 
-If:\python27\PC -c mercurial/base85.c -o build\temp.win32-2.7\Release\mercurial\base85.o
**cc1.exe: error: unrecognized command line option '-mno-cygwin'**
error: command 'gcc' failed with exit status 1

解决方案

From a comment by a TDM-GCC MinGW distro developer:

As of the 4.6 series, GCC no longer accepts many unrecognized options or flags. TDM-GCC has never "supported" -mno-cygwin; now, it will complain about it. This is also true for libtool flags such as "-no-undefined".

So you may have to use a somewhat older GCC version that will ignore the meaningless option, or fix the build scripts so they don't use that flag (which would never be necessary with the MinGW compiler anyway).

As a follow-on note, it looks like the Cygwin compiler stopped supporting -mno-cygwin starting with GCC 4: http://www.cygwin.com/ml/cygwin/2009-03/msg00802.html

So that option has been more or less useless for a couple years.

这篇关于-mno-cygwin的:GCC建筑水银(在Windows 2000)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆