mingw , 在mingw文件夹里面应该有个bin
文件夹 ,留意一下该文件夹里面雹空“应该”有gcc.exe的应用程序,假设该bin文件夹的全称路径是X:\..\mingw\bin,那么将它添加将它添加到环境变量里面。
上面是配置环境,下面是编译运行一个C程序:
在比如新建"D:\main.c"文件,里面写main(){
printf("Hello!\n")
},保存;
然后打开cmd控制台,执行:gcc
D:\main.c
-o
D:\main.exe
这个时候D盘会生成名为main的应用程序,控制台继续执行:D:\main.exe
就运行了,蔽卖应该宏肆逗显示出Hello!了
mingw编译出来的静态库后缀名为.a,编译出来的动态库的导入库后缀名为.dll.a,而在windows下后缀名为.lib的库可能是静态库也丛磨可能是动态库的导入库。mingw编译出来的动态库的导入库拆悄可以直接在vc中直接使用,例如
#pragma comment(lib, "libx264.dll.a")
这样你就不需要生成一个.lib后缀的动态库的导入库了,网上也有如何从.dll生成.lib的方法。
如果链接了动态库的导入库libpthread.dll.a,你发布的应用程序就要带上pthread的dll。
使渗御斗用静态库的好处是发布的应用程序组件模块里不需要带上相关的dll,如果要使用mingw编译出来的静态库,可以如下:
#pragma comment(lib, "libx264.a")
但是仅仅链接这么一个静态库是不够的,你还需要链接
libgcc.a
libmingwex.a
请到关。网下载mingw最新版本,安装的时候选择GCC-4.8.1(G++4.8.1)。
编译时添加编译选项:
-std=c++11
mingw的GCC有一点问题,如果要使用完整C++特性,建议使用cygwin
如果要结合使用肢配第三方IDE必须确保IDE调用编译器时自动添历消指加上述编译桥裤选项。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)