2019独角兽企业重金招聘Python工程师标准>>>

mingw64环境搭建

转自:http://www.cr173.com/soft/132367.html

MinGW64位版,默认编译出来是64位的,需要编译32位请使用-m32 参数!mingw是一款gnu工具集合是Minimalist GNU on Windows的简称,一个可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合!允许你在GNU/Linux和Windows平台生成本地的Windows程序而不需要第三方C运行时库。MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序使用微软的标准C运行时间库(MSVCRT.DLL)

GCC命令行参数

复习一下GCC命令行参数,看看各个版本的区别——
32位版:加上 -m32 参数,生成32位的代码。
64位版:加上 -m64 参数,生成64位的代码。
debug版:加上 -g 参数,生成调试信息。
release版:加上 -static 参数,进行静态链接,使程序不再依赖动态库。加上 -O3 参数,进行最快速度优化。加上-DNDEBUG参数,定义NDEBUG宏,屏蔽断言。

当没有-m32或-m64参数时,一般情况下会生成跟操作系统位数一致的代码,但某些编译器存在例外,例如——
32位Linux下的GCC,默认是编译为32位代码。
64位Linux下的GCC,默认是编译为64位代码。
Window系统下的MinGW,总是编译为32位代码。因为MinGW只支持32位代码。
Window系统下的MinGW-w64(例如安装了TDM-GCC,选择MinGW-w64),默认是编译为64位代码,包括在32位的Windows系统下。

MinGW分为较早开发的MinGW32和之后为编译64位程序开发的MinGW-w64,MinGW32只能编译32位的程序,而mingw64不仅能编译64位程序,也能编译32位程序,还能进行交叉编译,即在32位主机上编译64位程序,在64位主机上编译32位程序。

mingw64环境搭建

1.首先下载mingw64,

下载下来后直接双击安装,我直接安装在C盘,目录如下:

2. 下载msys. http://www.mingw.org/wiki/MSYS/,我下载的是1.0.11版本的。直接点击安装,我安装在C盘,安装过程中会有一些提示,yes就行,最后需要配置一个mingw的环境变量,我配置的是上图中的地址C:/mingw-w64/x86_64-4.9.2-posix-seh-rt_v3-rev1/mingw64,(注意正反斜杠啊)可能他会提示错误,说找不到路径之类的,不要管他,暴力一点,直接到C:\msys\1.0\etc目录,复制fstab.sample为fstab,然后编辑如下图:

接着编辑C:\msys\1.0\msys.bat文件,在开头加上call "D:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64\vcvars64.bat"在这样环境变量就配置好了。

3.下载x264 ffmpeg

下载完之后全部拷贝到C:\msys\1.0\home。

cd到x264目录,在公司电脑上编译,简直是一路畅通,没有任何错误。步骤如下:

1. ./configure --prefix=/mingw --enable-win32thread --host=x86_64-w64-mingw32 --enable-static --enable-shared

make

make install,然后你去你会发现mingw64下面会有x264的.h 以及lib文件。

2.编译ffmpeg

我用的命令如下

./configure --prefix=/mingw --enable-gpl --enable-nonfree --enable-postproc --enable-avfilter --enable-ffplay --enable-avresample --enable-w32threads --enable-runtime-cpudetect --enable-memalign-hack --enable-bzlib --enable-libx264 --enable-zlib --disable-debug --enable-shared --arch=x86_64 --host-os=win64 --extra-cflags=-I/mingw/include --extra-ldflags=-L/mingw/lib ,大家可以根据自己的需求增减选项。configure之后肯定会报一个警告,没有pkg-config这个玩意,需要下载glib_2.18.4-1_win32.zip和pkg-config_0.23-3_win32.zip,下载完之后只要把pkg-config.exe这个东西拷贝到msys/1.0/bin目下,然后会少个dll,在把dll拷贝进去。在执行上面的命令之后,这个警告就不会出现了。

接着

make

make install,ok安装完毕,你直接在msys里面执行cd /mingw/bin,里面你就可以看到很多dll,和ffserver.exe之类的,如果你需要编译出ffplay,那还要编译一个SDL1.2版本的。到此为止全部就搞定了,感觉又很简单,关键是msys的环境变量一定要配置好,否则出现各种蛋疼。

编译新版本的ffmpeg的时候会出现某某dll库找不到,缺什么下载什么,有64位版本就用64位版本,确保不出问题。这样下来应该就可以编译通过了。

查看编译后的版本是否是64位的,可以用

PS:我记得以前编译ffmpeg和x264的时候总是提示一些类型错误int8_t之类的,是因为inttype.h 还有stdint.h这两个头文件的问题,不过现在的版本编译的时候不会再出现这种低级错误了,如果你编译新版本的时候出现,或许是你环境没有配置好,你可以从mingw里面拷贝这两个文件,然后自己改,估计也够呛的。

安装步骤

以下以mingw-w64-bin_x86_64-mingw_20110510_sezero.zip包的安装为例,mingw-w64-bin_x86_64-mingw_20110510_sezero.zip包的安装方法相同。

1.解压mingw-w64-bin_x86_64-mingw_20110510_sezero.zip文件到某个目录d:\thsoft\mingw64

测试安装是否成功

打开cmd,进入d:\thsoft\mingw64\bin目录,输入一下命令gcc -v

将显示gcc的版本等信息,如果看到此信息,表示安装成功。

更进一步

1.若在msys(MSYS安装方法)中使用,继续一下步骤
1)打开msys安装目录下的etc/fstab,如果没有该文件,则复制fstab.sample文件,并重名为fstab
2)修改fstab文件

c:/mingw        /mingw
修改为自己的mingw安装目录
D:/thsoft/mingw64        /mingw
3)测试是否安装成功,
启动msys终端,输入gcc -v

2.若要在eclipse cdt(eclipse cdt安装方法)中使用,执行如下操作
1)配置Path环境变量
我的电脑–右键–属性–高级–环境变量–系统变量中的path–双击
在path的最前面添加:
D:\thsoft\mingw64\bin;
2)测试是否安装成功
打开eclipse cdt,新建一个hellowold项目,编译连接(eclipse cdt使用Mingw编译项目,该文章是mingw32的使用方法,mingw64也同样适用),看是否能编译运行。

其他说明

如果想再32位的环境下,使用mingw-w64-bin_i686-mingw_20110510_sezero.zip,编译64位的程序,以上基本相同,但需要做一下修改:

四、–>1–>3)需要改为如下:

x86_64-w64-mingw32-g   -v

这个是交叉编译的编译工具的命名比较奇特的地方,可能是若在相同的机器上安装多个mingw64,gcc出现同名的情况。

四、–>2–>2)需要改为如下:

我的电脑–右键–属性–高级–环境变量–系统变量中的path–双击
在path的最前面添加:
D:\thsoft\mingw64\x86_64-w64-mingw32\bin

MinGW与CygWin/gcc的区别

MinGW相比CygWin/gcc来讲,更加贴近win32。因为它几乎支持所有的Win32API。它所连接的程序,不需要任何第三方库即可运行。

CygWin/gcc,其实这是两个东西。CygWin是一个让Windows拥有Unix-like环境的软件。而gcc就是安装在CygWin上的编译器。

CygWin/gcc与MinGW的最大区别在于:使用CygWin/gcc可以在Windows下调用unix-like的API,(如fork,spawn,signals,select,sockets等)。也就是说Cygwin是运行在Windows下的,但是她使用的是Unix-like系统的函数和思想。由于这个区别,导致的结果就是用CygWin/gcc编译出来的程序可以无缝的运行在*nix环境下。但是如果调用了unix特有的API函数,在windows环境下不能正常运行,如果想在windows下正常运行的,就必须依赖cygwin1.dll,速度上会有些影响。

而用MinGW编译出来的程序,如果源代码里面调用了unix环境的API,则MinGW会把这些对UNIX的API调用翻译成win32下等价的形式。同时这个程序是不能在windows下运行的。

说白了,如果你是想在windows环境下开发linux运行程序,那么CygWin/gcc是你的不二之选。

而如果你想开发的是windows运行程序,并且追求速度,那么二者相比而言,MinGW是更好的选择

转载于:https://my.oschina.net/u/4000302/blog/3052356

mingw64环境搭建相关推荐

  1. libuv之mingw64环境搭建及编译Libuv

    1. MinGW与MinGW64有什么区别联系? MinGW一盘用于x86开发(32bits) MinGW64可用于x86_64(既可64bits也可32bits),还支持32位,64位交叉编译. - ...

  2. Visual studio Code的C/C++开发环境搭建

    VS Code Visual Studio Code(简称VS Code)是一个由微软开发,同时支持Windows . Linux和macOS等操作系统且开放源代码的代码编辑器,它支持测试,并内置了G ...

  3. CC++编程环境搭建-四种常用开发工具(VSCode,Dev,CodeBlocks,Clion)

    IDE介绍 集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器.编译器.调试器和图形用户界面等工具.集成 ...

  4. win10下的msys2开发环境搭建

    win10下的msys2开发环境搭建 下载安装 MSYS2 最常用的pacman命令 MSYS2的源配置 更新msys2 安装开发环境 下载安装 MSYS2 msys2是可以在windows下搭建gc ...

  5. 我的全栈之路-C语言基础之C语言概述与开发环境搭建

    我的全栈之路-C语言基础之C语言概述与开发环境搭建 我的全栈之路 1.1 信息技术发展趋势 1.2 浅谈计算机系统架构 1.2.1 计算机系统架构概述 1.2.2 计算机硬件系统 1.2.2 计算机软 ...

  6. win10 C语言开发环境搭建

    win10 C语言开发环境搭建 一.编辑器的选择 二.windows10下的开发环境 方法一: 1.下载msys64 2.更新安装包,下载mingw64 gcc编译器 3.打开clion编辑器,配置m ...

  7. MSYS2开发环境搭建

    MSYS2开发环境搭建 软件安装 下载msys2-x86_64软件包,双击安装到某根目录下,比如D:\msys64. pacman是MSYS2自带的软件管理工具: 可通过修改msys64\etc\pa ...

  8. 环境搭建(windows): 1.rabbitmq安装 2.web GUI管理插件安装 3.erlang版本和rabbitmq版本之间对应关系

    1)环境搭建参考: https://www.cnblogs.com/wuzhiyuan/p/6845230.html​​​​​​​ 一:安装RabbitMQ需要先安装Erlang语言开发包,百度网盘地 ...

  9. 【Go语言版GTK,安装以及环境搭建】

    [Go语言版GTK,安装以及环境搭建] 1. 下载安装MSYS2 2. 安装MSYS2 3. 安装所需软件 3.1 安装gtk3 3.2 安装gtk2 3.3 安装glade 3.4 安装帮助文档 3 ...

最新文章

  1. 中国电子学会图形化四级编程题:绳子算法
  2. fail2ban使用教程
  3. 容器架构向无服务架构的演进—深圳站
  4. pyBoard Mini从安装到简单测试
  5. Python的定义编码以及注释等
  6. VMware:为中国中小企业建立“外部云计算”
  7. python详细安装教程-python安装教程 Pycharm安装详细教程
  8. 面试题--------3、string stringbuffer stringbuilder的区别
  9. Android Studio 生成apk 出现 :error_prone_annotations.jar (com.google.errorprone:error) 错误
  10. 暴力解决配置HTTPS后无法使用Hermit
  11. win10打开文件夹卡顿
  12. 手游服务器常用架构图
  13. java seek_java中seek()的用法
  14. 二维树状数组--hdu1892
  15. revit二次开发之教学视频
  16. 【附源码】Python计算机毕业设计企业合同管理系统
  17. 线性代数行列式计算之元素拆分与凑项法
  18. 遍历Python字典
  19. webrtc 搭建直播平台
  20. 年前人间尤物,年后惨不忍睹

热门文章

  1. js动画与html动画效果,九种原生js动画效果
  2. Framework7中文文档
  3. 星起航:短视频市场中的直播模式
  4. 全球自动驾驶实力排名公布:谷歌第一,百度第七
  5. c语言中long输入字符串,C语言strtol函数
  6. C语言输入一行数据分别统计出其中英文字母、 空格、数字和其他字符的个数并输出结果
  7. wyy课堂cmos模拟设计课学习笔记-Bandgap电路设计4
  8. ANSYS——如何选择合适的单元类型
  9. 快速幂+矩阵快速幂模板
  10. 详细到落泪的Tomcat安装教程....