Windows下使用VS2010編譯mod_wsgi

    最近在學習Django,所以須要mod_wsgi,我下載了mod_wsgi-4.4.11,以前版本的mod_wsgi還有二進制版本提供的,可是4.4.11版本已經不提供二進制版本了,只能下載源代碼本身編譯了,下載地址:https://github.com/GrahamDumpleton/mod_wsgi/releasespython

    下載解壓後,在win32目錄下找到與本身的python和apache服務器版本對應的mk文件,我安裝的是python3.4和apache2.4,所以就找到ap24py34-win32-VC10.mk,用記事本打開,將其中的APACHE_ROOTDIR和PYTHON_ROOTDIR修改成本身的apache和python的根目錄。git

    而後就是打開命令行設置一下環境進行編譯了,設置環境變量,這裏須要設置path, include和lib,在cmd窗口中輸入:github

set path = C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin;C:\Program Files\Microsoft Visual Studio 10.0\VC\bin;C:\Program Files\Microsoft Visual Studio 10.0\Common7;

set include = C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include;C:\Program Files\Microsoft Visual Studio 10.0\VC\include;

set lib = C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib;C:\Program Files\Microsoft Visual Studio 10.0\VC\lib;

 

    設置好環境變量,而後輸入:nmake -f ap24py34-win32-VC10.mk install,就開始進行編譯了。apache

    可是編譯過程當中出現錯誤:api

    錯誤提示信息說是由於wsgi_memory.obj中沒法解析外部符號_GetProcessMemoryInfo@12,也就是說找不到Windows調用GetProcessMemoryInfo的實現,所以,在src\server目錄中找到wsgi_memory.c,在該文件中添加下面的代碼:服務器

#pragma  once
#pragma  message("Psapi.h --> Linking with Psapi.lib")
#pragma  comment(lib,"Psapi.lib")

 

而後再進行編譯,就能夠看到編譯成功了,而且mod_wsgi.so文件也自動拷貝到apache服務器目錄中去了!學習

相關文章
相關標籤/搜索