This is a static archive of our old Q&A Site. Please post any new questions and answers at ask.wireshark.org.

file ‘win32.mak’ not found Stop.

0

I tried to build wireshark under WinXP + MC VS 2008 by "2.2. Win32: Step-by-Step Guide", but I'm having trouble with nmake -f Makefile.nmake verify_tools. I got:

E:\work\wireshark\trunk-1.6>nmake -f Makefile.nmake all

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

Makefile.nmake(10) : fatal error U1052: file 'win32.mak' not found Stop.

I Google’d it and found this, but it didn’t help. I tried putting the win32.mak file in C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include, but nmake cannot see it…

Please help

This question is marked “community wiki”.

asked 24 Jun ‘11, 05:05

boomsic's gravatar image

boomsic
1222
accept rate: 0%

edited 24 Jun ‘11, 18:41

helloworld's gravatar image

helloworld
3.1k42041

I make next solution

edit Makefile.nmake

and define full path to win32.mak

(24 Jun ‘11, 09:49) boomsic

I run this one:

C:Program FilesMicrosoft Visual Studio 9.0VCbinvcvars32.bat

you mean that?

I agree that where is something wrong in my build environment, but I cant find a mistake.

(26 Jun ‘11, 05:50) boomsic


4 Answers:

2

You shouldn't have to edit Makefile.nmake. If nmake can't find win32.mak then that's a strong indication that your build environment isn't set up correctly. Did you run vcvarsall.bat before running nmake?


Update 2014-07-24 It looks like Windows SDKs 8.0 and 8.1 don't include win32.mak. I worked around the issue by calling

set INCLUDE=%INCLUDE%;c:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include

or

set INCLUDE=%INCLUDE%;c:\Program Files\Microsoft SDKs\Windows\v7.1A\Include

as appropriate after running vcvarsall.bat

answered 24 Jun '11, 09:58

Gerald%20Combs's gravatar image

Gerald Combs ♦♦
3.3k92258
accept rate: 24%

edited 24 Jul '14, 15:50

1

You should install Windows sdk (http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=3138).

Then you will found Wind32.mak file in C:\Program Files\Microsoft SDKs\Windows\v7.0\Include.

answered 21 Aug '11, 07:41

one%20step's gravatar image

one step
16224
accept rate: 0%

edited 21 Aug '11, 10:40

Guy%20Harris's gravatar image

Guy Harris ♦♦
17.4k335196

Right. Copying it from there to C:\Program Files\Microsoft Visual Studio 12.0\VC\include solved the issue for me.

(30 Nov '13, 06:21) gtirloni

0

You probably need an include statement, here's the generic script I use (VS 2012 with the 7.1a sdk)

@echo off
echo Commands are:
echo nmake -f Makefile.nmake verify_tools
echo nmake -f Makefile.nmake setup
echo nmake -f Makefile.nmake all
echo nmake -f Makefile.nmake packaging
echo nmake -f Makefile.nmake packaging_papps
echo nmake -f Makefile.nmake clean

set INCLUDE=%INCLUDE%;C:\Program Files (x86)\Microsoft SDKs\Windows\v7.1A\Include; set PATH=%PATH%;c:\cygwin\bin echo Adding things to the path… if "%1" == "" goto x86 if /i %1 == x86 goto x86 if /i %1 == x64 goto x64 goto usage

:usage echo Error in script usage. The correct usage is: echo %0 [option] echo where [option] is: x86 ^| x64 echo: echo For example: echo %0 x86 goto :eof

:x64 set WIRESHARK_TARGET_PLATFORM=win64 call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x64 title Command Prompt (VC++ 2012 x64) goto :eof

:x86 set WIRESHARK_TARGET_PLATFORM=win32 call "C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\vcvarsall.bat" x86 title Command Prompt (VC++ 2012 -x86) goto :eof

answered 16 Mar ‘14, 17:30

Scott%20Harman's gravatar image

Scott Harman
46131319
accept rate: 50%

1

While this may work for you, it might cause issues for others, observations\notes:

  1. Unless you need it in your batch file, there is no need to add Cygwin to the path, config.nmake does that for you.
  2. The Win 7.1 SDK doesn’t get installed with VS2012, it’s a separate download.
  3. The vcvarsall batch files are additive, so if you run the script again (from the same shell), particularly if you change from x86 to x64 (or vice-versa) your environment will grow duplicate entries each time and may not do what you think when changing the “bitedness”.
  4. There are some new Wireshark environment variables in the dev versions that you might want to set:

    WIRESHARK_BASE_DIR - sets the base directory for your 3rd party libraries, this directory can contain both x86 and x64 libraries. Only used if WIRESHARK_LIB_DIR isn’t defined.

    WIRESHARK_VERSION_EXTRA - the suffix string for your version of Wireshark.

  5. For VS2012 and later, the vcvarsall batchfile sets an env var for the VS version (VisualStudioVersion) in use so you don’t need to modify config.nmake to manually set that, it picks it up from the env.

  6. For VS2012 and later, the vcvarsall batchfile sets an env var if building for x64 (Platform=X64) in use so you don’t need to modify config.nmake to manually set that, it picks it up from the env.
(17 Mar ‘14, 03:41) grahamb ♦

Thanks Graham I will try to make it a bit more generic - that’s really helpful!

(19 Mar ‘14, 20:27) Scott Harman

0

If you have already installed VisualStudio and service pack, then try to install SDK it may fail. You may need to unselect both C++ compiler and redistributable package from the install component for the install to work.

answered 16 Apr '14, 11:53

YXI's gravatar image

YXI
21182023
accept rate: 0%