MinGW安裝和使用


MinGW是什么

MinGW是是將GCC編譯器和GNU Binutils移植到Win32平台下的產物,包括一系列頭文件(Win32API)、庫和可執行文件。MinGW是從Cygwin(1.3.3版)基礎上發展而來。GCC支持的語言大多在MinGW也受支持,其中涵蓋C、C++、Objective-C、Fortran及Ada。對於C語言之外的語言,MinGW使用標准的GNU運行庫,如C++使用GNU libstdc++。但是MinGW使用Windows中的C運行庫。因此用MinGW開發的程序不需要額外的第三方DLL支持就可以直接在Windows下運行,而且也不一定必須遵從GPL許可證。這同時造成了MinGW開發的程序只能使用Win32API和跨平台的第三方庫,而缺少POSIX支持[3],大多數GNU軟件無法在不修改源代碼的情況下用MinGW編譯。具體細節可看官方網站

目的

由於我自己用Sublime Text 2比較多,我用C語言也只是偶爾用一下,也不是頻繁用,所以也不想安裝很完整很大的vs。所以選擇了MinGW,小巧可以在Sublime Text 2中運行。

下載

MinGW
Sublime Text 2

MinGW安裝

  • 運行剛剛下載的安裝程序

    安裝到你想安裝的目錄下,點擊Continue

    安裝完成后,桌面上有一個:

    這個是安裝器,需要在線下載安裝內容安裝,才會完成安裝。
  • 選擇需要安裝的組件

    根據需要選擇你的組件。右鍵選擇“Mark for Installation”,之后選擇"Installation -> Apply Changes”。等待下載完成。
  • 配置環境變量

    計算機-系統屬性-高級系統設置-環境變量
  • 查看是否安裝成功
    CMD下輸入gcc -v
  • 配置Sublime Text 2
    Sublime TextPackage目錄下的Packages\C++\C++.sublime-build文件修改為
{
    "cmd": ["g++", "${file}", "-o", "${file_path}/${file_base_name}"],
    "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:? (.*)$",
    "working_dir": "${file_path}",
    "selector": "source.c, source.c++",
    "encoding":"cp936",

    "variants":
    [
        {
            "name": "Run",
            "cmd": ["${file_path}\\\\${file_base_name}.exe"]
        }
    ]
}

只需要在調用Ctrl+B編譯后再鍵入Ctrl+Shift+B運行即在Sublime Text 2控制台看到輸出.

  • CMD編譯
    測試文件 test.c,代碼如下:
#include <stdio.h>
int main()
{
     printf("hello world!\r");
     printf("xixi");
     printf("hello world!\n");
     printf("xixi");
     printf("hello world!\r\n");
     printf("xixi");
     return 0;
}

編譯命令:
gcc test.c -o test
執行:
test
結果:

  • 注意事項
    如果你對文件里是用的c++,那你文件一定要存成.cpp格式,要不然你用cmd編譯是會出錯的。
#include <iostream>
using namespace std;
int main() {
    std::cout << "hahaha" << "\r" << "xixi" ;
    std::cout << "hahaha" << "\n" << "xixi" ;
    std::cout << "hahaha" << "\r\n" << "xixi" ;
    return 0;
}
// #include <stdio.h>
// int main()
// {
//      printf("hello world!\r");
//      printf("xixi");
//      printf("hello world!\n");
//      printf("xixi");
//      printf("hello world!\r\n");
//      printf("xixi");
//      return 0;
// }

當時我把文件存成test.c。用cmd編譯:出錯信息:iostream:no such file or directory

后來搜Google,終於找到了原因。其中有一個答案是I was the same problem, and was that I was saving the file as a c file (ex. HelloWorld.c). When I change the file to HelloWorld.cpp work. So, change the file name to .cpp I know that maybe is too.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM