在64位选项下使用vs2013编译wireshark源代码的问题

时间:2016-05-13 06:58:55

标签: visual-studio-2013 compilation 64-bit wireshark

环境设置为:

@echo off 
call "C:\Program Files (x86)\Microsoft Visual Studio12.0\Common7\Tools\VsDevCmd.bat" 

call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat" amd64

e:

cd  E:\Wireshark_Plugin\Source\wireshark-master

set  YES_I_KNOW_ABOUT_THE_DEPRECATION=1

set  VISUALSTUDIOVERSION=12.0

set MSVC_VARIANT=MSVC2013EE

set CYGWIN_PATH=E:\Software\Cygwin\bin

set WIRESHARK_BASE_DIR=E:\Wireshark_Plugin\Source\wireshark-master

set WIRESHARK_TARGET_PLATFORM=win64

set QT5_BASE_DIR=E:\Software\QT\5.6\msvc2013_64

::nmake -f Makefile.nmake verify_tools

::nmake -f Makefile.nmake setup

::nmake -f Makefile.nmake distclean

nmake -f Makefile.nmake all

pause

下面显示的编译结果失败

Microsoft (R) Program Maintenance Utility Version 12.00.21005.1
Copyright (C) Microsoft Corporation.  All rights reserved.

        cd ..
        xcopy E:\Wireshark_Plugin\Source\wireshark-master\Wireshark-win64-libs\zlib-1.2.8-ws zlib.tmp /D /I /E /Y

        cd zlib.tmp
        "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\nmake.exe" /
                   -f win32/Makefile.msc zlib1.dll AS=ml64 LOC="-I. -DASMV -DASMINF" OBJA="inffasx64.obj gvmat64.obj inffas8664.obj"

Microsoft (R) Program Maintenance Utility Version 12.00.21005.1
Copyright (C) Microsoft Corporation.  All rights reserved.

        ml64 -c -coff -Zi -I. -DASMV -DASMINF ./contrib/masmx64\inffasx64.asm
'ml64' is not internal or external command

NMAKE : fatal error U1077: 'ml64' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.

有人和我有同样的问题吗?我被困了差不多一个星期,希望有人可以帮助我。 谢谢大家。

顺便说一句,它已经在32位选项下成功编译。 然后环境设置如下:

call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat"

e:

cd  E:\Wireshark_Plugin\Source\wireshark-master

set  YES_I_KNOW_ABOUT_THE_DEPRECATION=1

set  VISUALSTUDIOVERSION=12.0

set MSVC_VARIANT=MSVC2013EE

set CYGWIN_PATH=E:\Software\Cygwin\bin

set WIRESHARK_BASE_DIR=E:\Wireshark_Plugin\Source\wireshark-master

set WIRESHARK_TARGET_PLATFORM=win32

set QT5_BASE_DIR=E:\Software\QT\5.6\msvc2013_64

call "C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcvarsall.bat"  x86

::nmake -f Makefile.nmake verify_tools

::nmake -f Makefile.nmake setup

::nmake -f Makefile.nmake distclean

nmake -f Makefile.nmake all

pause

1 个答案:

答案 0 :(得分:0)

感谢大家关注我的问题。我已经解决了这个问题。 这似乎是Unicode设置问题。 转到控制面板 - >区域和语言 - >非Unicode程序的语言 In"非Unicode程序的当前语言",更改为"英语(美国)"。