win7 64位專業版下的x64編譯問題
阿新 • • 發佈:2017-07-02
選擇 得到 位數 int 入口 frame iso bin pointer
在Django的開發過程中,碰到一個問題,就是所有本地庫的位數必須是相同的,於是某些庫需要重新編譯一下,工作環境,不能用盜版程序,VC++ 2008\2010 Express版本身都不支持X64的編譯,網上的文檔大多也是說安裝SDK以後在IDE界面的下編譯。我嘗試了以下方案,基本可行。
1、我的機器環境64位Windwos7專業版,首先安裝了VC++ 2010 Express版。這個安裝我是用最簡單的在線版本,下載量是150M,如果你網速不快,最好找個ISO版本來裝。
2、其次下載了Microsoft Windows SDK for Windows 7 and .NET Framework 4 (ISO) ,我選擇了X64版本,這個東西安裝前,必須把所有的VC 2010 redisbute包卸載了,才能成功安裝
3、到開始菜單的Windows SDK 7.1目錄找Windows SDK 7.1 Command Prompt命令行入口,從這個入口進去用nmake /f makefile.vc 作編譯可以得到64位編譯版本,不過有時候可能是makefile的原因,可能x86的編譯結果也會同時出來,這個時候需要用dumpbin指令看一下編譯dll的信息
4、dumpbin指令屬於VC++的組件,所以需要用VC++的Visual Studio 命令提示命令行入口來進。指令格式:dumpbin /headers proj.dll。出來的信息滿多的,位數信息在剛開始FILE HEADER VALUES下面第一行machine後面。比如下面這樣
PE signature found File Type: DLL FILE HEADER VALUES 14C machine (x86) 5 number of sections 4F66E3F3 time date stamp Mon Mar 19 15:44:51 2012 0 file pointer to symbol table 0 number of symbols E0 size of optional header
win7 64位專業版下的x64編譯問題