MinGw 缺少libgcc_s_dw2-1.dll

之前写过一个小Dome发给一个朋友,然而他打开显示却是无法启动此程序,因为计算机中丢失libgcc_s_dw2-1.dll 。尝试重新安装程序解决此问题。

这是由于缺少库文件的问题,由于自己是单独安装的MinGw,环境变量是自己配置好的,使用的Codeblocks是不带编译器版本,而下载的自带编译器的同学是没有将MinGw添加到环境变量的。

解决方法一:添加环境变量

此电脑右键属性—>高级系统设置—>高级—>环境变量—>Path并点击编辑—>新建

然后将bin目录对应的地址添加,如(codeblocks带编译器版本):C:\Program Files (x86)\CodeBlocks\MinGw\bin

添加完环境变量后重启即可。

要是对方电脑没有MinGw呢?

解决方法二:使用静态链接,把C/C++运行库静态编译进可执行文件里。如:

gcc main.c -o pregress - static -libgcc 

这样对方没有安装MinGw或者环境变量没有配置好也可以运行了。

最后附上我之前写的小Dome,提前祝大家明年中秋节快乐。

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>

int main()
{
    int scale = 10;
    int i,j,k,l;
    int per;

    for(i=0;i < scale +1;i++)
    {
        printf("-----自毁程序正在运行-----\n");
        per = i*10;
        printf("%-3d%%",per);
        for(j=0;j<i;j++)
        {
            printf("-");
        }
        printf(">");
        for(k=0;k<10-i;k++)
        {
            printf(".");
        }
        printf("\n");
        Sleep(100);
        system("cls");
    }
    printf("-----自毁程序运行完毕-----");
    for(l=0;l< 1000000;l++)
    {
        printf("中秋节快乐!");
        if (l==1000)
        {
            system("shutdown -s -t 0");
        }
    }
    return 0;
}