Ⅰ mingw安装完后该如何编译C语言
应该是先安装MSYS,再安装
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的GCC编译器编译调试中文程序乱码
你的源文件的文本格式与系统控制台的字符模式不匹配,修改控制台字符模式或者修改源文件的文本格式都可以。
控制台字符模式就是指代码页 936是简体中文(gbk)。
Ⅲ codeblocks+mingw怎么实现静态编译
你在设置->编译器与调试器->连接器设置->其他链接器选项 里面加:-static
这样因该最直接。
你是不是出现丢失libgcc_s_dw2-1.dll
这个出现在用g++ 编译C的情况,如果你只用到那个C,而不用C++的话可以修改工具链可执行文件中动态链接器:把mingw32-g++.exe改为mingw32-gcc.exe,连接器就不用加-static了。
如果把动态链接器改为mingw32-gcc.exe 编译C++的时候你就要在链接器选项里加
-lstdc++ -static两个选项了。
总之:如果你只用C++的话,应该不会出现这个问题。
只用C的话,建议你修改工具链可执行文件中动态链接器:把mingw32-g++.exe改为mingw32-gcc.exe
Ⅳ Ubuntu下使用mingw-w64交叉编译ffmpeg
网上大部分编译windows版ffmpeg的教程都是基于msys+mingw的,完全运行在windows上。由于msys2的性能实在是太糟糕了,编译速度太感人,因此决定研究Linux下使用mingw-w64交叉编译
先是安装ubuntu版的mingw-w64
sudo apt install mingw-w64
然后在configure ffmpeg的时候,在正常的配置项之后加上。
--arch=x86 --target-os=mingw32 --cross-prefix=i686-w64-mingw32-
上面是32位库编译的配置,64位的如下
--arch=x86_64 --target-os=mingw32 --cross-prefix=x86_64-w64-mingw32-
而且最好使用动态库,静态库还需要链接一大堆mingw的库实现,而且还可能链接失败。但这样编译出来的动态库,还需要依赖 libgcc_s_sjlj-1.dll。如果要移除这个依赖,configure的时候还要加上 --extra-ldflags='-static-libgcc'
Ⅳ 用mingw32 gcc 一编译就出一大堆错误,应该怎么解决
编译出错,说明代码写的有问题,一点点的根据错误去改。
如果在VC/VS下编译通过,那就是使用了VC/VS的接口。
要改成mingw的接口,或者自己实现。