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
2.7k21740

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

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?

link

answered 24 Jun '11, 09:58

Gerald%20Combs's gravatar image

Gerald Combs ♦♦
2.3k71644
accept rate: 25%

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.

link

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 ♦♦
11.0k226140

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

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
link

answered 16 Mar, 17:30

Scott%20Harman's gravatar image

Scott Harman
21126
accept rate: 0%

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, 03:41) grahamb ♦

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

(19 Mar, 20:27) Scott Harman

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.

link

answered 16 Apr, 11:53

YXI's gravatar image

YXI
161217
accept rate: 0%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Tags:

×148
×114
×54

Asked: 24 Jun '11, 05:05

Seen: 6,758 times

Last updated: 16 Apr, 11:53

powered by OSQA