1. 程式人生 > >win7 64位專業版下的x64編譯問題

win7 64位專業版下的x64編譯問題

選擇 得到 位數 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編譯問題