运行MinGW 有一个"Automated MinGW Installer", 运行他的时候,会提示我下载一堆东西。
因为我的网络环境比较恶劣(公司下载会比较麻烦),
所以我现在使用的还是C同学当年给我的版本:MinGW3.1.0. 对应的gcc版本是3.2.3。
他只有一个安装文件,一顿下一步全都搞定(事实上他只有14M,我已经把它放到了我的邮箱里面)
然而他也存在着一个不方便的地方,就是安装完后需要手动配置环境变量。需要做的配置大体如下:
set PATH=%PATH%;D:\DevelopingTools\MinGW\bin set LIBRARY_PATH=D:\DevelopingTools\MinGW\lib set C_INCLUDE_PATH=D:\DevelopingTools\MinGW\include set CPLUS_INCLUDE_PATH=D:\DevelopingTools\MinGW\include\c++\3.2.3;D:\DevelopingTools\MinGW\include\c++\3.2.3\\mingw32;D:\DevelopingTools\MinGW\include\c++\3.2.3\backward;D:\DevelopingTools\MinGW\include
一次两次还好,每次都这么配置便有点麻烦。于是参照这篇blog: python练习贴03 修改注册表 。
写了段为MinGW配置环境变量的python代码。如下:
#! /usr/bin/python
# MinGW Version: 3.2.3
# --- use this script to set environment value as following: ---
# set PATH=%PATH%;D:\DevelopingTools\MinGW\bin
# set LIBRARY_PATH=D:\DevelopingTools\MinGW\lib
# set C_INCLUDE_PATH=D:\DevelopingTools\MinGW\include
# set CPLUS_INCLUDE_PATH=D:\DevelopingTools\MinGW\include\c++\3.2.3;D:\DevelopingTools\MinGW\include\c++\3.2.3\\mingw32;D:\DevelopingTools\MinGW\include\c++\3.2.3\backward;D:\DevelopingTools\MinGW\include
__author__="Wangqiansheng"
__date__ ="$2009-9-8 15:48:34$"
import win32api
import win32con
# ----------- config data --------------------------------------------------------------
#pathInReg = 'SYSTEM\\CurrentControlSet\\Control\\Session Manager\\Environment'
pathInReg = 'SYSTEM\\ControlSet001\\Control\\Session Manager\\Environment'
minGW_Path = 'D:\\DevelopingTools\\MinGW\\'
#minGW_Path = 'D:\\Program Files\\MinGW\\'
# ----------------------------------------------------------------------------------------
def setSystemEnvironment(keyName,keyValue):
"""set the windows system environment.
"""
# open the position where system stores system environment.
global pathInReg
key = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE,pathInReg,0,win32con.KEY_ALL_ACCESS)
win32api.RegSetValueEx(key,keyName,0,win32con.REG_SZ,keyValue)
win32api.RegCloseKey(key)
def getSystemEnvironment(keyName):
"""get the windows system environment.
"""
# open the position where system stores system environment.
global pathInReg
key = win32api.RegOpenKey(win32con.HKEY_LOCAL_MACHINE,pathInReg,0,win32con.KEY_ALL_ACCESS)
keyVal = win32api.RegQueryValueEx(key,keyName)
result = keyVal[0]
win32api.RegCloseKey(key)
return result
if __name__ == "__main__":
setSystemEnvironment('PATH',getSystemEnvironment('PATH') + ";" + minGW_Path + "bin")
setSystemEnvironment('LIBRARY_PATH', minGW_Path + "lib")
setSystemEnvironment('C_INCLUDE_PATH', minGW_Path + "include")
setSystemEnvironment('CPLUS_INCLUDE_PATH', minGW_Path + 'include\\c++\\3.2.3;' + minGW_Path + 'include\\c++\\3.2.3\\mingw32;' + minGW_Path + 'include\\c++\\3.2.3\\backward;' + minGW_Path + 'include')