MinGW64是一款十分优秀出色的多功能编程开发工具,MinGW功能十分强大,不仅能够轻而易举的完成C,C++程序的编写操作,还可以在原本的编程基础上获得更多的内容和功能,包括非常完善的win文件导入功能,使用户获得更多c语言编辑内容,编辑c语言更加简单。
MinGW64区别于32位+64位版本,能够为用户提供更加全面的操作,是在64位系统中使用的版本,能够用于C、C++语言编译,还能够利用软件自带的命令库提升用户的编程效率。总而言之,该软件就是一款编程神器。
软件特色
1、可以生成win32最佳的编译环境。
2、对于win特定头文件可以进行完美导入集合。
3、不用第三方编辑库就可以生成本地win软件。
4、不是c语言专用编译器而是gui编辑集合。
功能说明
1、指只用自由软件来生成纯粹的Win32可执行文件的编译环境
2、可自由使用和自由发布的Windows特定头文件和使用GNU工具集导入库的集合
3、允许你生成本地的Windows程序而不需要第三方C运行库
4、实际上它并不是一个C/C++ 编译器,而是一套GNU工具集合
5、除开GCC (GNU 编译器集合) 以外,它还包含有一些其他的GNU 程序开发工具 (比如gawk bison 等等)
MinGW64使用说明
一、MinGW64怎么使用vs编译的库?
一、Qt MinGW调用VS 编译的C库
之前和大家分享过Qt使用海康相机SDK显示图片的例子,在该例子中使用了海康的C动态库,Qt使用起来完全没有问题。
我的最终目标就是编一个和海康一样的动态库,可以被Windows下大多编译器识别调用即可。
目前的情况是SDK内部本身使用了第三方库,该库有源码、同时也提供了基于VC14的动态库,但是由于使用的Qt是MinGW版的,所以无法直接使用该库。为了先出第一版的SDK,选择了直接将第三方库使用MinGW进行编译,也就是只能供Qt调用。经过测试之后,使用Qt5.5.1编译的动态库,可以被Qt5.14使用(具体对应的编译器分别是mingw492_32和mingw73_32)。
接下来验证VS2013编译的动态库如何被Qt MinGW愉快的调用。
经过艰难困苦的测试,VS编译的C动态库,可以被Qt链接,VS导出库的头文件时应加上extern “C”;而且Qt对链接VS编译库的方式也有要求。
链接海康相机完全没问题
LIBS += $$PWD/3rdLib/mvs/win32/lib/MvCameraControl.lib
链接VS编译的C库要这样写:
LIBS += -L$$PWD/Lib/test/win32/lib/ -lTestlib
但是使用VS编译导出的C++动态库确实不行的。这里先简单说下extern “C”的作用:在C++调用C代码时会使用这个语法,而C代码中本身是没有这个命令的;该命令告诉编译器通过C的内部标识符去寻找对应函数,为什么这样?通过一个简单例子来说明下:
add(int x, int y)
对于上述这样的函数,由于C++具有重载功能,经过编译器编译后内部标识符类似这种,add_int_int;c++编译器产生的内部标识符是这样的,_add。
这样C++程序就可以直接调用C程序了。
话说回来,目前得出的结论是VS编译的C库可以愉快的被Qt MinGW调用。
二、Qt MinGW调用VS编译C++生成的C库
前面说的是Qt直接调用VS编译的C库,这次做的测试是VS调用Opencv的库,然后再将其封装C库,测试Qt MinGW能否调用,这里可以确定的是可以调用。
吐槽一下,VS在链接opencv几十个库时,需要挨个写一遍,太难了。(当然也可能是我的方法不对。)
以后有机会写下VS怎么编译和链接动态库。
三、小结
之所以这么迫不及待的发出来,是因为在网上找到可用的资料比较少。
Qt可直接调用VS编译出的C库:
① VS导出函数时需使用extern “C”
②注意链接C库的形式
Qt无法直接调用第三方使用VC的编译的C++动态库,但是可以通过VS中转成C库供Qt MinGW使用。
二、MinGW64怎么配置c语言?
点击下载好的MinGW文件“mingw-get-setup.exe”,安装完成后,打开安装的软件,在左侧选择Basic Setup,然后在右侧选择需安装的编译器,比如mingw32-gcc-g++,鼠标右键点击Mark for Installation,然后点击左上角的Installation按钮,选择Apply Changes,弹出对话框点击Apply,安装对应的编辑器
编译正在安装中,安装快结束时,点击Close按钮。
查看安装是否成功,在软件上点击刚才安装的编译器,在Installed Files栏有安装信息,说明安装成功。
配置gcc编译器,进入刚才安装MinGW的路径下,复制bin路径,我这里安装的是D:\MinGW\bin
查看系统属性,选择系统高级系统设置,并选择高级,点击环境变量,在系统变量下选择Path,编辑,添加刚才复制的内容,添加之前,在末尾需要输入英文分号“;”,点击确定,配置系统环境变量完成。
打开cmd,输入gcc -v,显示gcc的版本号,说明gcc配置成功。