win7 64位专业版下的x64编译问题

时间:2021-07-23 06:09:07

在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编译问题