




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
用MINGW编译GCC4.2.2指南 /2007-12-22 网络点击:617 评论 -文章搜索: 【点击打包该文章】 【本站开通在线QQ讨论群】 在网上,编译GCC的方法有很多,大部份人都推荐在CYGWIN环境下进行交叉编译,这样可以可以少遇到许多困难,但是使用CYGWIN时往往需要编译许多其它相关工具才行,对于我这个懒人来说,真是不太现实,所以我开始了我用MINGW编译之旅。在国外似乎很早就有人开始用MINGW尝试编译GCC了,不过如你根据它的方法的话,依我试验后的经验不一定能够成功的编译出来,因为有许多提前工作,在那文档中并没有列出。下面将以GCC4.2.2为例进行前期准备工作:一、准备一个已编译好的GCC,我用的是TDM的GCC4.2.1(当然用它的GCC4.2.2也可以)二、安装MSYS和它的工具包,在MSYS安装完成以后,一般会要求指定一下你的GCC安装路径,按要求填写即可,万一你想改变了你可以在MSYS文件夹中的 /etc/fstab下进行修改。最后要说的是你可能需要从MINGW的官网上下载最新MAKE和MAKEINFO这个两个程序,后面我将会给出为什么需要它们的原因三、安装mingwcore、mingw-win32api、mingw-binutil四、编译GMP与MPFR,根据测试GMP虽然有了4.2.2版本,但是在WIN环境下无法通过编译(有高人帮我解决更好了),但是GMP4.2.1依然可以编译使用,为编译 GCC4.2.2所以MPFR必需要求使用MPFR4.2.2,在msys环境下,老惯例的三步走configre,make,make install就可以了,将编译好的相关文件复制到GCC的文件夹中,当然你可以在GCC编译时另外指定路径,不过会变得麻烦些五、安装GNUWIN32组件bison into/down.on-bin-zip.php/down.on-dep-zip.phpflex/down.ex-bin-zip.phplibtool/down.ol-bin-zip.phplibiconv/down.nv-bin-zip.php/down.nv-dep-zip.php下一步编译:其实正常来说这一步可以忽略不说,但是我就是不理解为什么在WIN环境下会变得如此的复杂?下面是我的configure执行脚本#!/bin/shPATH=/f/GCC/bin:/f/msys/1.0/bin:$PATH././configure -prefix=/mingw -enable-languages=c,c+,fortran,objc,obj-c+,treelang,java -disable-nls -disable-werror -disable-win32-registry -enable-sjlj-exceptions -enable-threads=win32 -disable-libstdcxx-pch -enable-fully-dynamic-string -enable-libgomp -with-tune=generic -with-as=/mingw/bin/as.exe -with-ld=/mingw/bin/ld.exe -with-gcc -with-gnu-ld -with-gnu-as注意-with-as=/mingw/bin/as.exe -with-ld=/mingw/bin/ld.exe 这两句是必须要的,否则在编译可能出现无法生成a.exe文件的错误,根据网上得出的资料是MSYS在文件映射方面,最好是使用UNIX下面的路径方式,如果使用DOS的路径方式很容易出现一些陌名的错误。还有如果你要编译GCC的大部份编译器,最好还是按照我上面的来写-enable-languages=c,c+,fortran,objc,obj-c+,treelang,java,因为有时候GCC配置无法正常识别你要编译的语言种类,另外GNAT自gcc4.2.0开始,我就一直没有成功过,一直提示缺少calander文件。接着是make,心跳吧,在我的编译历程中,这里是最容易出现各种各样奇怪的错误的,一般来说有两个方面,一个是上述配置没有做好,存在一定问题,另一个就是编译用的源文件出现问题,我发现如果你使用WINRAR来解压GCC4.2.2的源文件时,会有一个长文件名的.h文件解压后文件名出错,导致无法编译通过,我推荐使用7ZIP,这个在多次使用过程中没有出现任何问题。最后一步是make install,很不幸的说,这里会存在一个问题,有时你会发现你安装一半会提示你,需要安装makeinfo和最新的make应用程序,如果你仔细观察一下你会发现GCC的CONFIGURE里面使用的是 missing makeinfo当然是不对的了,还好MINGW上已经提供了最的MSYS用MAKE和MAKEINFO,下载覆盖,然后修改GCC源文件根目录下的MAKEFILE和子文件夹GCC下的MAKEFILE,把里面的missing makeinfo替换为目录下的makeinfo就可以解决,同时不要使用mingw32-make那个程序,那个虽然是同MINGW GCC在一起,但是无法在MSYS中使用,否则会出现调用文件目录的错误,好了到了这一步,GCC4.2.2的编译全过程就结束了,希望大家用得愉快Windows上的GCC:MinGW介绍 A collection of freely available and freely distributable Windows specific header files and import libraries combined with GNU toolsets that allow one to produce native Windows programs that do not rely on any 3rd-party C runtime DLLs.MinGW全名Minimalist GNU for Windows,是一套用于Windows平台的GNU 工具集,实现了GNU的基本功能,并使编译后的程序无需第三方运行时库(DLL)便可在Windows系统上运行。What is MinGW?MinGW (Minimalistic GNU for Windows) refers to a set of runtime headers, used in building a compiler system based on the GNU GCC and binutils projects. It compiles and links code to be run on Win32 platforms. providing C, C+ and Fortran compilers plus other related tools. If you see references to mingw32 instead of MinGW, they are referring to the same compiler system. The projects name changed from mingw32 to MinGW is to prevent the implication that MinGW will only works on 32 bit systems (as 64 and higher bit machines become more common, MinGW will evolve to work with them). MinGW uses the Microsoft runtime libraries, distributed with the Windows operating system. Unlike other ports of GCC to Windows, the runtime libraries are not distributed using Gnus General Public License (GPL). You, therefore, do not have to distribute your source code with your programs unless, of course, you use a GPL library in your programs. 摘自MinGW官方主页 / 以下是用我蹩脚的英语翻译的,如有不妥,请留言: MinGW涉及一整套的运行时头文件,用于建立一个基于GNU GCC的编译系统并生成程序。MinGW编译、连接运行在Win32平台上的代码,提供C、C+和Fortran编译器及相关工具。有些时候用“mingw32”代替“MinGW”,但都表示同一编译系统。将“mingw32”改为“MinGW”是为了防止产生关于MinGW只能在32位windows上工作的误解(随着64及更高位的计算机的普及,MinGW将随之发展以便能在这些机器上使用)。MinGW使用Microsoft的运行时库,在windows操作系统上分发。不同于其他GCC对Windows的接口,运行时库不会被GPL (GNU通用公共协议证书)分发。甚至你也不必公开你的程序源代码(注:了解GNU通用公共协议证书可知,使用了该证书的程序在分发时会将源代码一起分发,以体现“自由软件”精神),当然,除非你使用了GPL库。MinGW各版本下载地址:/download.shtml 官方下载。/download/MinGW-3.0.0-1.exe 可直接在Windows下运行安装的版本有各种使用心得,欢迎与我联系,共同交流。/-/用得开心你就拍拍手,然后大喊一声:“爽!”Mingw GCC 4.3.0 安装与配置(解决CreateProcess问题)转2008-08-24 10:01摘自:/romangol/archive/2008/04/19/47595.html首先,下载Mingw TDM 4.3.0版本/recentgcc/有两种选择GCC 4.3.0-tdm-2 (Default SJLJ exceptions) 和 GCC 4.3.0-tdm-2 With DW2 Exceptions可以根据SJLJ or DW2 (Dwarf-2) 异常模型来选择需要下载的版本,通常情况下win32平台下选择SJLJ(set jump long jump)模型然后还需要去Mingw官网下载binutils/mingw/binutils-2.18.50-20080109-2.tar.gzmingw-runtime (mingw-runtime-3.14.tar.gz, 494KB) /mingw/mingw-runtime-3.14.tar.gzw32api (w32api-3.11.tar.gz, 1.55MB) /mingw/w32api-3.11.tar.gz也可以选择安装以下组件mingw-utils/mingw/mingw-utils-0.3.tar.gzmingw32-make(可以选择最新的mingw32-make-3.81-20080326-2)/mingw/mingw32-make-3.81-2.tar.gzgdb(可以选择最新的6.8试验版)/mingw/gdb-6.6.tar.bz2把这些东西都下载下来,然后解压到不同的目录,每个目录里面大概都会有bin,include,lib,man这样的目录,要做的就是合并它们,也就是拷贝到同一个目录里面,注意可能有些文件会重复,一般来说GCC 4.3.0 TDM包里面的文件比较重要,不要用其他的包里面的文件覆盖了它然后就可以得到一个完整包含gcc,g+,binutils,gdb,make等的目录了,此时,在windows环境变量中的path变量里面添加该目录的bin子目录,就可以在cmd窗口中调用gcc和g+进行编译了。如果你不想污染了环境变量,也可以写个bat:(假设你的mingw目录是C:mingwbin)set path=C:mingwbin;%path%现在还没有结束,需要进行两个地方的设置1 makemingw官方提供的make工具,名称不是简单的make,而是mingw32-make.exe,把它改名成make.exe或者复制一份为make.exe都可以2 gcc: CreateProcess: No such file or Directory 错误这个问题在google里面很多人发问,但是没有一个完整的解答,下面给出一个完整的解答产生这个错误有两个原因:第一是gcc无法找到安装目录里面的libexec目录里面的工具,通常这些工具包括cc1.exe,cc1plus.exe,collect2.exe,它们通常存放在:安装目录libexecgccmingw324.3.0第二是gcc无法找到mingw目录里面binutils的工具,它们通常存放在安装目录mingw32bin这两个目录的名字并不完全固定,根据不同组织编译的gcc各有不同,比如mingw官方编译的gcc4.3.0 alpha,上述目录就是安装目录gcci386-pc-mingw324.3.0而官方提供的binutils包里面是安装目录i686-pc-mingw32bin只要这两个地方没有设置好,就可能导致CreateProcess错误,那么,有没有什么好办法能够确定这里应该怎样命名呢?办法是用16进制编辑器打开gcc.exe,搜索GCC_EXEC_PREFIX,当搜索到该字符串(不止一个)时,观察后面是否出现版本号4.3.0,如果出现,后面紧接着的就是路径,如果是mingw32那么上面的命名就应该是安装目录libexecgccmingw324.3.0安装目录mingw32bin如果是其他的例如i686-pc-mingw32,那么名称相应的变为安装目录libexecgcci686-pc-mingw324.3.0安装目录i686-pc-mingw32bin好了,可以测试一下你的hallo world程序了_ Windows版gcc-MinGW的安装说明/2008-10-9 网络点击:92 评论 MinGW - Minimalist GNU for WindowsMinGW - Windows平台下GNU工具的最小子集MinGW - A collection of freely available and freely distributable Windows specific header files and import libraries combined with GNU toolsets that allow one to produce native Windows programs that do not rely on any 3rd-party C runtime DLLs.MinGW: 可以免费获得和发布的Windows头文件和导入库文件,以及可以用来产生不依赖于任何第三方C运行时的GNU工具集。mingw 是windows版本的gnu c/c+工具集 主要包括编译器gcc,连接器make,调试器gdbMinGW 官方网站为 可参考最新版本,为如下地址: /projects/mingw/安装软件:1,mingwrt-3.15.1,通过网络安装,将所有的东西都装在C:MinGW(默认目录),但是最好改成c:mingw 这样可以同msys更好的结合 下载地址:/projects/mingw/2,Visual-MinGW 0.59,安装完毕后,Visual-MinGW会提示让你寻找compile目录,这时候选mingw安装目录(默认是C:MinGW)即可 下载地址:/3,mingw32-make-3.80.0-3.exe 下载地址:/project/downloading.php?groupname=mingw& filename=mingw32-make-3.80.0-3.exe&use_mirror=nchc4,配置环境变量,复制“mingw32-make.exe”增加“make.exe”5,打开Visual-MinGW,想写点啥就写点啥吧,finish提示:(1)MinGW-4.1.1.exe安装时(这里只是安装”current”,不安装”source”)下载以下几个包: ada.tar.gz binutils.tar.gz g+.tar.gz g77.tar.gz gcc.tar.gz java.tar.gz runtime.tar.gz w32api.tar.gz objc.tar.gz mingw32-make.tar.gz 如果你水平可以,完全可以单独下几个自己需要的包配置一下,而不需要安装在(1)里如上配置 (2)配置环境变量: PATH C:mingwbin;PATH (千万别直接覆盖PATH变量,务必将其放在最前面,要用分号隔开) LIBRARY_PATH C:mingwlib C_INCLUDEDE_PATH C:mingwinclude INCLUDE C:mingwinclude CPLUS_INCLUDE_PATH C:mingwincludec+3.4.5;C:mingwincludec+3.4.5mingw32;C:mingwincludec+3.4.5backward;C:mingwinclude (不同版本的c+版本不同,不要盲目照转,如安装不同的MinGW版本,清注意配置) (3) 将C:mingwbin下的文件“mingw32-make.exe”复制一份并改名为“make.exe”,方便以后操作。 测试: (1)在cmd中执行下make命令(如c:mingwbinmake.exe),如果出现“*No targets specfied and no make file found stop”,设置成功。 (2)在cmd中输入“gcc -v”,如果屏幕出现“gcc不是内部命令或外部命令,也不是可运行的程序或批处理文件。”表示环境变量设定有问题。 如果出现如下显示,表示设定成功。 H:gcc -v Reading specs from C:/mingw/bin/./lib/gcc/mingw32/3.4.5/specs Configured with: ./gcc-3.4.5-20060117-3/configure -with-gcc -with-gnu-ld -with-gnu-as -host=mingw32 -target=mingw32 -prefix=/mingw -enable-thre
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工业管道焊缝的检测方法与案例
- 工业自动化技术的现状与趋势
- 工业设计在产品开发中的作用
- 工业设计新品的创新与市场分析
- 工业节能的挑战与解决方案
- 工作压力的缓解与管理
- 工作环境优化与员工满意度提升
- 工程中的环境保护法规与实践
- 工程师培训中的数据可视化技术
- 工厂设备安全与维护管理
- 高频课程设计-中频放大器
- 《计算机操作系统》(第4版)笔记和课后习题(含考研真题)详解
- 国家自然科学奖
- 红色大气谢师宴高考喜报PPT模板
- 市政道路公路工程监理规范
- 通信线路投标文件
- 集结号观后感 集结号观后感500字(最全)
- 沪教版一年级下册数学期末试卷
- 模电简答题汇总
- 项目验收单(简洁版模板)-项目验收单模板
- 安监人员看图查违章试题题库
评论
0/150
提交评论