zoukankan      html  css  js  c++  java
  • 记一次Windows MinGW g++编译c++代码

    到这里下载GCC预编译包:https://sourceforge.net/projects/mingw-w64/files
    下载这个:

    x86_64 是64位,i686 是32位的意思
    posix 是跨平台的意思,win32 仅限Windows
    尾缀是指生成的可执行程序和dll所运行的位数,sjlj可以运行在32位也可以运行在64位,seh仅限运行在64位,drawf仅限32位

    解压并配置环境变量

    将其内 mingw/bin 目录配到 PATH 环境变量下,使用命令 g++ -v,得到版本信息:

    写C++代码

    这里用 stl 库中的 vector 容器。

    #include <iostream>
    #include <vector>
    
    int main(){
        vector<int> vec1(10, 4);    
        for (int i = 0; i< vec1.size(); i++){
            std::cout << vec1[i] << std::endl;
        }
        system("pause");
        return 0;
    }
    

    编译

    g++ .hello.cpp -o hello
    

    报失败...

    排查原因,是因为 vector 类前要加 std::

    #include <iostream>
    #include <vector>
    
    int main(){
        std::vector<int> vec1(10, 4);    
        for (int i = 0; i< vec1.size(); i++){
            std::cout << vec1[i] << std::endl;
        }
        system("pause");
        return 0;
    }
    

    然后编译成功了,在 hello.cpp 同级别目录下生成了 hello.exe 文件

    运行

    双击运行,按理说应该出现10行4,然后等按任意键结束,但是报错:

    排查原因,是因为一个动态链接库有问题...

    找到g++的动态链接库 mingw/bin/libstdc++-6.dll,放到 hello.exe 旁边,正常运行:

  • 相关阅读:
    CSS3 经典教程系列:CSS3 线性渐变(linear-gradient)
    JS定义函数
    CSS选择器和jQuery选择器的区别与联系
    jQuery 选择器、遍历方法
    jQuery中$()函数
    JS对象和Jquery对象
    [Alpha]Scrum Meeting#2
    [Alpha]Scrum Meeting#1
    knowledge_docker
    problems_docker
  • 原文地址:https://www.cnblogs.com/onsummer/p/13291324.html
Copyright © 2011-2022 走看看