到這里下載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
旁邊,正常運行: