Move Windows build to be VS2013 based using the Community Edition

Drop references to long obsolete compilers.
Added Chocolatey installer instructions for some packages.

Change-Id: I416d4091b6acaa1ed0d5e586f0427708c4b2d646
Reviewed-on: https://code.wireshark.org/review/5986
Reviewed-by: Graham Bloice <graham.bloice@trihedral.com>
Petri-Dish: Graham Bloice <graham.bloice@trihedral.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
This commit is contained in:
Graham Bloice 2014-08-23 00:21:45 +01:00 committed by Michael Mann
parent 1b6da9ed92
commit 15a9f5dd70
8 changed files with 300 additions and 590 deletions

View File

@ -72,7 +72,7 @@ git_version.xml: git_version_check
wsug_x: wsug_html_chunked wsug_html user-guide-a4.pdf user-guide-us.pdf user-guide.chm
user-guide.xml: user-guide.asciidoc $(WSUG_FILES)
user-guide.xml: user-guide.asciidoc $(WSUG_FILES) user-guide-docinfo.xml
@ echo --- WSUG - XML ---
$(SH) <<
PATH=/usr/bin
@ -158,7 +158,7 @@ wsluarm: make-wsluarm.pl $(WSLUA_MODULES)
wsdg_x: wsdg_html_chunked wsdg_html developer-guide-a4.pdf developer-guide-us.pdf developer-guide.chm
developer-guide.xml: developer-guide.asciidoc $(WSDG_FILES) wsluarm
developer-guide.xml: developer-guide.asciidoc $(WSDG_FILES) wsluarm developer-guide-docinfo.xml
@ echo --- WSDG - XML ---
$(SH) <<
PATH=/usr/bin

View File

@ -42,6 +42,7 @@ ntp-web-site:\[\]=http://www.ntp.org/
# Make a document attribute after we fully convert to AsciiDoc
wsdg-author-email:\[\]=ulf.lamping&#91;AT&#93;web.de
wsdg-author-email2:\[\]=graham.bloice&#91;AT&#93;trihedral.com
wsug-author-email:\[\]=ulf.lamping&#91;AT&#93;web.de
wsug-author-email2:\[\]=rsharpe&#91;AT&#93;ns.aus.com

View File

@ -16,6 +16,11 @@
<email>luis[AT]ontanon.org</email>
</author>
<author><firstname>Graham</firstname><surname>Bloice</surname>
<!-- <affiliation><orgname></orgname></affiliation> -->
<email>graham.bloice[AT]trihedral.com</email>
</author>
</authorgroup>
<!--<edition>&DocumentEdition;</edition>
@ -23,10 +28,18 @@
<copyright><year>2004-2014</year>
<holder>Ulf Lamping</holder>
<holder>Luis E. Garcia Ontanon</holder>
<holder>Graham Bloice</holder>
</copyright>
<revhistory>
<revision>
<revnumber>1.1</revnumber>
<date>28 Dec 2014</date>
<authorinitials>gb</authorinitials>
<revremark>Updated for 1.99.x and 2.0, move to VS2013.</revremark>
</revision>
<revision>
<revnumber>1.0</revnumber>
<date>2 Nov 2014</date>

View File

@ -313,9 +313,9 @@ console logfile, to get additional information.
The Buildbot runs on a platform collection that represents the different
"platform specialties" quite well:
* Windows XP x86 (Win32, little endian, Visual Studion 2010)
* Windows 8.1 x86 (Win32, little endian, Visual Studion 2013)
* Windows 7 x86-64 (Win64, little endian, VS 2010)
* Windows 7 x86-64 (Win64, little endian, VS 2013)
* Ubuntu x86-64 (Linux, little endian, gcc)
@ -327,6 +327,12 @@ The Buildbot runs on a platform collection that represents the different
* Mac OS-X x86-64 (BSD, little endian, Clang)
and two buildslaves that run static code analysis to help spot coding issues:
* Visual Studio Code Analysis (Win64, little endian, VS 2013)
* Clang Code Analysis (Linux, little endian, Clang)
Each platform is represented at the status page by a single column, the
most recent entries are at the top.

View File

@ -104,7 +104,7 @@ Then run the command
This will first check for all the various tools needed to build Wireshark
as described in <<ChToolsWin32Verify>>.
Then it will download the zipped libraries (together around 30MB!) from the
Then it will download the zipped libraries (together around 45MB for x86 and 52MB for x64) from the
server location at
http://anonsvn.wireshark.org/wireshark-win32-libs/trunk/packages/[] into the
directory specified by WIRESHARK_LIB_DIR and install (unzip) all required

View File

@ -41,44 +41,16 @@ should strictly follow the recommendations below.
You need to install, in exactly this order:
. C compiler:
http://www.microsoft.com/visualstudio/eng/downloads#d-2010-express[Download]
and install "Microsoft Visual $$C++$$ 2010 Express Edition." This is a very
large download.
http://go.microsoft.com/?linkid=9863608[Download]
and install "Microsoft Visual Studio 2013 Community Edition." This is a small download that then downloads all the other required parts (which are quite large).
. Windows SDK for Windows 7, if you want to build 64-bit binaries for Windows 7:
http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx[Download] and
install "Microsoft Windows SDK for Windows 7."
+
In case the install of the SDK fails go to software management and
remove the $$VC++$$ 2010 runtime and redist packages (don't worry, they
will be added back via the service pack later). If installation of
the SDK still fails, there may be a permission problem. See
http://ctrlf5.net/?p=184[here] for a solution.
Uncheck all the optional components (unless you want to use them for purposes other than Wireshark).
. C compiler service pack:
http://www.microsoft.com/en-us/download/details.aspx?id=23691[Download] and
install "Microsoft Visual Studio 2010 Service Pack 1." This is a very large
download.
You can use Chocolatey to install Visual Studio:
. Microsoft Visual $$C++$$ 2010 Service Pack 1 Compiler Update for the Windows
SDK 7.1, if you want to build 64-bit binaries for Windows 7:
http://www.microsoft.com/en-us/download/details.aspx?id=4422[Download] and
install "Microsoft Visual $$C++$$ 2010 Service Pack 1 Compiler Update for the
Windows SDK 7.1."
If you will be building 64-bit binaries those items must be
installed in that order as installing the Microsoft Visual Studio
2010 Service Pack 1 can, if you've installed the Microsoft Windows
SDK for Windows 7, remove the 64-bit compilers, as per
http://support.microsoft.com/?kbid=2519277[the Microsoft Knowledge Base article "FIX: Visual C++ compilers are removed when you upgrade Visual Studio 2010 Professional or Visual Studio 2010 Express to Visual Studio 2010 SP1 if Windows SDK v7.1 is installed"]. The release notes for the Microsoft Visual
$$C++$$ 2010 Service Pack 1 Compiler Update for the Windows SDK 7.1
say that, to ensure that your system has a supported
configuration, you must install the items in the order specified
above. If you have Microsoft Update installed, so that the
Windows update process will update software other than components
of Windows, and thus will update Visual Studio, you may need to
disable it until after all of the above are installed, to make
sure it doesn't install Visual Studio 2010 SP1 out of order.
----
PS$>cinst VisualStudioCommunity2013
----
[TIP]
.You can use other Microsoft C compiler variants
@ -103,12 +75,49 @@ tweaking). For further details on this topic, see
// required components
Why is this recommended? While this is a huge download,
the 2010 Express Edition is the only free (as in beer)
version that includes the Visual Studio integrated
debugger. Visual $$C++$$ 2010 is also used to create official
Visual Studio 2013 Community Edition is the only free (as in beer)
versions that includes the Visual Studio integrated
debugger. Visual Studio 2013 is also used to create official
Wireshark builds, so it will likely have fewer development-related
problems.
For VS2010 You will need some extra items:
. Windows SDK for Windows 7, if you want to build 64-bit binaries for Windows 7:
http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx[Download] and
install "Microsoft Windows SDK for Windows 7."
+
In case the install of the SDK fails go to software management and
remove the $$VC++$$ 2010 runtime and redist packages (don't worry, they
will be added back via the service pack later). If installation of
the SDK still fails, there may be a permission problem. See
http://ctrlf5.net/?p=184[here] for a solution.
. C compiler service pack:
http://www.microsoft.com/en-us/download/details.aspx?id=23691[Download] and
install "Microsoft Visual Studio 2010 Service Pack 1." This is a very large
download.
. Microsoft Visual $$C++$$ 2010 Service Pack 1 Compiler Update for the Windows
SDK 7.1, if you want to build 64-bit binaries for Windows 7:
http://www.microsoft.com/en-us/download/details.aspx?id=4422[Download] and
install "Microsoft Visual $$C++$$ 2010 Service Pack 1 Compiler Update for the
Windows SDK 7.1."
. If you will be building 64-bit binaries those items must be
installed in that order as installing the Microsoft Visual Studio
2010 Service Pack 1 can, if you've installed the Microsoft Windows
SDK for Windows 7, remove the 64-bit compilers, as per
http://support.microsoft.com/?kbid=2519277[] the Microsoft Knowledge Base article "FIX: Visual C++ compilers are removed when you upgrade Visual Studio 2010 Professional or Visual Studio 2010 Express to Visual Studio 2010 SP1 if Windows SDK v7.1 is installed". The release notes for the Microsoft Visual
$$C++$$ 2010 Service Pack 1 Compiler Update for the Windows SDK 7.1
say that, to ensure that your system has a supported
configuration, you must install the items in the order specified
above. If you have Microsoft Update installed, so that the
Windows update process will update software other than components
of Windows, and thus will update Visual Studio, you may need to
disable it until after all of the above are installed, to make
sure it doesn't install Visual Studio 2010 SP1 out of order.
[[ChSetupQt]]
@ -123,8 +132,13 @@ OpenGL'' component is used to build the official 64-bit packages.
Note that the Qt package also includes the Qt Creator IDE, which is useful
for designing graphical components and includes an interactive debugger.
You'll need to build wireshark using nmake before you'll be able to build the
Wireshark project (ui/qt/Wireshark.pro), however.
Wireshark project (uiqtWireshark.pro), however.
You can also use Chocolatey to install Qt (there are packages for x86 & x64 and various MSVC compilers, e.g.
----
PS$>cinst qt-sdk-windows-x86-msvc2013_opengl
----
[[ChSetupCygwin]]
@ -179,13 +193,14 @@ other packages are also used.
==== Install PowerShell
If you are running Windows Vista you may need to install Windows Powershell 2.0.
Later versions should also be supported.
You can download it from https://www.microsoft.com/powershell[]
[[ChSetupChocolatey]]
==== Optional: Install Chocolatey
As an alternative to Cygwin you install some packages using
As an alternative to Cygwin you can install some packages using
https://chocolatey.org/[Chocolatey], a native package manager for Windows.
Wireshark's build environment currently supports the _winflexbison_ package but
support for more packages should appear in the future.
@ -194,6 +209,7 @@ support for more packages should appear in the future.
// - Active Perl and/or StrawberryPerl
// - Devbox-UnZip and/or 7zip and/or peazip
// - Wget
// - Git (a native win32 version)
[[ChSetupPython]]
@ -203,7 +219,7 @@ Get the Python 2.7 installer from http://python.org/download/[] and install
Python into the default location ('C:\Python27').
Why is this recommended? Cygwin's Python package doesn't work on some machines,
so the Win32 native package is recommended.
so the Win32 native package is recommended (and it's faster). Note that Python 3.x isn't currently supported.
[[ChSetupsubversion]]
@ -213,7 +229,7 @@ Please note that the following is not required to build Wireshark but can be
quite helpful when working with the sources.
Working with the Git source repositories is highly recommended, see
<<ChSrcObtain>>. It is much easier to update a personal source tree with Git
<<ChSrcObtain>>. It is much easier to update a personal source tree (local repository) with Git
rather than downloading a zip file and merging new sources into a personal
source tree by hand. It also makes first-time setup easy and enables the
Wireshark build process to determine your current source code revision.
@ -226,13 +242,6 @@ Note that many of the GUI interfaces depend on the command line version.
The official command-line installer is available at http://msysgit.github.io/.
===== From Cygwin
Cygwin comes with a port of git. To install it, run Cygwin's
setup-x86.exe or setup-x86_64, navigate to Devel/git, and if the package
has a "Skip" item in the "New" column, click on the "Skip" item so it
shows a version number.
===== Git Extensions
Git Extensions is a native Windows graphical Git client for
@ -245,6 +254,13 @@ TortoiseGit is a native Windows graphical Git
similar to TortoiseSVN. You can download the installer from
http://code.google.com/p/tortoisegit/.
===== Command Line client via Chocolatey
The command line client can be installed (and updated) using Chocolatey:
----
PS$> cinst git
----
===== Others
A list of other GUI interfaces for Git can be found at
@ -262,15 +278,24 @@ Git Extensions but any other Git client should work as well.
// XXX -
. *Download sources*. Download Wireshark sources into
'C:\Development\wireshark' using Git Extensions:
*Download sources* Download Wireshark sources into
'C:\Development\wireshark' using either the command line or Git Extensions:
.. Open the Git Extensions application. By default Git Extensions
Using the command line:
----
>cd C:\Development
>git clone https://code.wireshark.org/review/wireshark
----
Using Git extensions:
. Open the Git Extensions application. By default Git Extensions
will show a validation checklist at startup. If anything needs to
be fixed do so now. You can bring up the checklist at any time
via _Tools -> Settings_.
.. In the main screen select _Clone repository_. Fill in the following:
. In the main screen select _Clone repository_. Fill in the following:
+
Repository to clone: `https://code.wireshark.org/review/wireshark`
+
@ -284,104 +309,46 @@ Subdirectory to create: Anything you'd like. Usually `wireshark`.
Make sure your repository path doesn't contain spaces.
====
.. Click the _Clone_ button. Git Extensions should start cloning the
. Click the _Clone_ button. Git Extensions should start cloning the
Wireshark repository.
. Navigate to your newly cloned directory and open 'config.nmake' in an editor.
Edit the following settings:
.. `VERSION_EXTRA`: Give Wireshark your "private" version info, e.g.
`-myprotocol123` to distinguish it from official releases.
.. `WIRESHARK_TARGET_PLATFORM`: Change to `win64` if you're building
a 64-bit package. You can also define this in the system environment.
.. `PROGRAM_FILES`: Where your programs reside, usually just keep the default:
_C:\Program Files_ footnote:[International Windows might use different values
here, e.g. a German version uses 'C:\Programme' -- take this also in account
where 'C:\Program Files' appears elsewhere.]
.. `MSVC_VARIANT`: Make sure the variant for your compiler is uncommented, and
that all others are commented out. For example, if you're using Visual $$C++$$
2010 Express Edition, find the line
+
--
----
#MSVC_VARIANT=MSVC2010EE
----
and remove the comment character (#) from the beginning of the line. Then, find
the line
----
MSVC_VARIANT=MSVC2010
----
and comment it out, by prefixing a hash (#). footnote:[Compiler dependent: This
step depends on the compiler you are using. For compilers other than Visual
$$C++$$ 2010, see the table at <<ChToolsMSChain>>.]
--
.. `QT5_BASE_DIR`: If you plan to build QtShark (the Wireshark GUI application
which uses the Qt windowing toolkit instead of GTK+), set QT5_BASE_DIR so that
$(QT5_BASE_DIR)/bin/qmake.exe is valid. You can use the output of
"qmake -query QT_INSTALL_PREFIX" as indicated in the comments in config.nmake,
but make sure that you use backslashes (\\) in the path rather than the forward
slashes returned by qmake.
[[ChSetupPrepareCommandCom]]
==== Prepare cmd.exe
==== Open a Visual Studio Command Prompt
Prepare `cmd.exe` -- set its environment and current directory.
From the Start Menu (or Start Screen), navigate to the Visual Studio 2013 ->
Visual Studio Tools directory and choose the Command Prompt appropriate for the build you wish to make, e.g. VS2013 x86 Native Tools Command Prompt for a 32 bit version.
. Start `cmd.exe`.
[TIP]
.Pin the items to the Task Bar
====
Pin the Command Prompt you use to the Task Bar for easy access.
====
. Set environment variables for Visual $$C++$$ 2010 Express Edition.
footnote:[International Windows might use different values here, e.g. a German
version uses 'C:\Programme' -- take this also in account where 'C:\Program
Files' appears elsewhere. Note: You need to repeat steps 1 - 4 each time you
open a new cmd.exe.] footnote:[Compiler dependent: This step depends on the
compiler variant used. For variants other than the recommended Visual $$C++$$
2010 Express Edition see the table at <<ChToolsMSChain>>]
All subsequent operations take place in this Command Prompt window.
. Set environment variables to control the build.
+
--
To build 32-bit binaries call
Set the following env vars, using paths and values suitable for your installation
----
> "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /Release /x86'
> set CYGWIN=nodosfilewarning
> set WIRESHARK_BASE_DIR=C:\Development
> set WIRESHARK_TARGET_PLATFORM=win32 or win64 as required
> set QT5_BASE_DIR=C:\Qt\Qt5.3.0\5.3\msvc2013
> set WIRESHARK_VERSION_EXTRA=-YourExtraVersionInfo
----
and to build 64-bit binaries call
If you are using a version of Visual Studio earlier than VS2012 then you must set an additional env var,
e.g. for VS2010 set the following:
----
> "C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\SetEnv.Cmd" /Release /x64
> set VisualStudioVersion=10.0
----
If your version of the compiler does not have `SetEnv.Cmd` you may need to use
`vcvarsall.bat` or `vcvars32.bat` which do much the same thing as `SetEnv.cmd`.
For example, on some 64-bit installations, one would build a 32-bit version by
invoking
----
> "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat
----
and one would build a 64-bit version using the command
----
> "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\Vcvarsall.bat" amd64
----
Consult your compiler's documentation to learn which version applies to your
installation.
Setting these variables could be added to a batch file to be run after you open
the Visual Studio Tools Command Prompt.
--
. Set environment variable to select target platform.
+
--
To build 32-bit binaries execute
----
> set WIRESHARK_TARGET_PLATFORM=win32
----
and to build 64-bit binaries execute
----
> set WIRESHARK_TARGET_PLATFORM=win64
----
--
. Run
. Change to the correct source directory
+
--
----
@ -390,50 +357,6 @@ and to build 64-bit binaries execute
to jump into the source directory
--
Wireshark development depends on several additional environment variables,
particularly PATH. You can use a batch script to fill these in, along with the
Visual $$C++$$ variables; a sample script is below. Note that the paths given
here may not match your installation - double check CYGWIN_BIN and QT5_BIN in
particular, and/or remove QT5_BIN if you are not building QtShark.
----
@echo off
set CYGWIN_BIN=C:\cygwin\bin
set QT5_BIN=C:\Qt\5.3\msvc2010_opengl\bin
set MSVC_BIN="C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin"
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
echo Adding things to the path...
set PATH=%PATH%;%CYGWIN_BIN%;%QT5_BIN%
set WIRESHARK_TARGET_PLATFORM=win64
call %MSVC_BIN%\SetEnv.Cmd /Release /x64
title Command Prompt (VC++ 2010 x64)
goto :eof
:x86
echo Adding things to the path...
set PATH=%PATH%;%CYGWIN_BIN%;%QT5_BIN%
set WIRESHARK_TARGET_PLATFORM=win32
call %MSVC_BIN%\SetEnv.Cmd /Release /x86
title Command Prompt (VC++ 2010 -x86)
goto :eof
----
[[ChToolsWin32Verify]]
==== Verify installed tools
@ -450,7 +373,7 @@ You will need the Wireshark sources and some tools
to work.
====
Enter at the command line (cmd.exe, not Cygwin's bash):
Enter at the Visual Studio Command prompt line:
----
> nmake -f Makefile.nmake verify_tools
@ -460,9 +383,9 @@ This will check for the various tools needed to build Wireshark:
----
Checking for required applications:
cl: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/Bin/amd64/cl
link: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/Bin/amd64/link
nmake: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 10.0/VC/Bin/amd64/nmake
cl: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 12.0/VC/BIN/cl
link: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 12.0/VC/BIN/link
nmake: /cygdrive/c/Program Files (x86)/Microsoft Visual Studio 12.0/VC/BIN/nmake
bash: /usr/bin/bash
bison: /usr/bin/bison
flex: /usr/bin/flex
@ -472,15 +395,13 @@ Checking for required applications:
peflags: /usr/bin/peflags
perl: /usr/bin/perl
C:\Python27\python.exe: /cygdrive/c/Python27/python.exe
C:\Qt\Qt5.3.0\msvc2013\bin\qmake: /cygdrive/c/Qt/Qt5.3.0/5.3/msvc2013/bin/qmake
sed: /usr/bin/sed
unzip: /usr/bin/unzip
wget: /usr/bin/wget
----
If you have problems with all the first three items (cl, link, nmake), check
that you called `SetEnv.Cmd` as mentioned in <<ChSetupPrepareCommandCom>>(which
will "fix" your PATHsettings). However, the exact text will be slightly
different depending on the MSVC version used.
If you have problems with all the first three items (cl, link, nmake), check that you opened a Visual Studio Command Prompt <<ChSetupPrepareCommandCom>>.
Unfortunately, the `link` command is defined both in Cygwin and in MSVC, each
with completely different functionality. You'll need the MSVC link. If your link
@ -490,11 +411,11 @@ setting or simply rename `link.exe` in Cygwin. If you rename it, make sure to
remember that a Cygwin update may provide a new version of it.
Make sure that the other tools found are the Cygwin versions. Some build
problems have been caused by incompatible versions of `grep` and `unzip`.
problems have been caused by incompatible versions of `grep` and `unzip` provided by other installed applications.
==== Install Libraries
. If you've closed `cmd.exe` prepare it again.
. If you've closed the Visual Studio Command Prompt <<ChSetupPrepareCommandCom,prepare>> it again.
. Run
+
@ -511,32 +432,14 @@ comment in <<ChToolsWget>>.
Note that 32-bit versions of the software require 32-bit versions of the
libraries and that 64-bit versions require 64-bit libraries. The build process
creates independent directories for each as needed. See
<<ChSetupPrepareCommandCom>>for how to use `SetEnv.Cmd` and
<<ChSetupPrepareCommandCom>>for how to open the required Visual Studio Command Prompt and
`WIRESHARK_TARGET_PLATFORM` to select either a 32- or 64-bit build.
==== Distclean Sources
The released Wireshark sources contain files that are
prepared for a UNIX build (e.g. 'config.h').
You must distclean your sources before building the first time.
. If you've closed `cmd.exe` prepare it again.
. Run
+
--
----
> nmake -f Makefile.nmake distclean
----
to cleanup the Wireshark sources.
--
==== Build Wireshark
Now it's time to build Wireshark!
. If you've closed `cmd.exe` prepare it again.
. If you've closed the Visual Studio Command Prompt <<ChSetupPrepareCommandCom,prepare>> it again.
. Run
+
@ -547,11 +450,11 @@ Now it's time to build Wireshark!
to build Wireshark.
--
. Wait for Wireshark to compile. This will take a while.
. Wait for Wireshark to compile. This will take a while, and there will be a lot of text output in the command prompt window
. Run `C:\wireshark\wireshark-qt-release\wireshark.exe` and make sure it starts. s
. Run `C:\Development\wireshark\wireshark-qt-release\Wireshark.exe` and make sure it starts.
//. Run `C:\wireshark\wireshark-gtk2\wireshark-gtk.exe` and make sure it starts. s
//. Run `C:wiresharkwireshark-gtk2wireshark-gtk.exe` and make sure it starts.
. Open 'Help -> About'. If it shows your "private" program
version, e.g.: Version wireshark-major-minor-version:[].x-myprotocol123
@ -573,7 +476,7 @@ launch QtShark in the debugger included with that IDE.
==== Optional: Create User's and Developer's Guide
Detailed information to build these guides can be found in the file
'docbook/README.txt' in the Wireshark sources.
'docbook\README.txt' in the Wireshark sources.
==== Optional: Create a Wireshark Installer
@ -591,23 +494,7 @@ You may check the `MAKENSIS` setting in the file 'config.nmake' in the Wireshark
sources. Note that the 32-bit version of NSIS will work for both 32-bit and
64-bit versions of Wireshark.
. Runtime redistributable: To build a 32-bit version you will need
'$$vcredist_x86.exe$$':
http://www.microsoft.com/en-us/download/details.aspx?id=8328[Download] the
C-Runtime redistributable for Visual
$$C++$$ 2010 Express Edition SP1 (__$$vcredist_x86.exe$$__)
and copy it into 'C:\wireshark-win32-libs'.footnoteref:[compilerdependent,Compiler dependent: This step
depends on the compiler variant used. For variants other than
the recommended Visual $$C++$$ 2010 Express Edition SP1 see the table
at <<ChToolsMSChain>>.]
+
To build a 64-bit version, you will need
_$$vcredist_x64.exe$$_:
http://www.microsoft.com/en-us/download/details.aspx?id=13523[Download] the 64-bit redistributable for Visual $$C++$$ 2010 Express
Edition SP1 (__$$vcredist_x64.exe$$__) and copy it into
__C:\Wireshark-win64-libs__.footnoteref:[compilerdependent]
. If you've closed `cmd.exe` prepare it again.
. If you've closed the Visual Studio Command Prompt <<ChSetupPrepareCommandCom,prepare>> it again.
. Run
+
@ -615,15 +502,15 @@ __C:\Wireshark-win64-libs__.footnoteref:[compilerdependent]
----
> nmake -f Makefile.nmake packaging
----
to build Wireshark installer.
to build a Wireshark installer.
--
. Run
+
--
----
> C:\wireshark\packaging\nsis\wireshark-win32-wireshark-major-minor-version:[].x-myprotocol123.exe
> C:\Development\wireshark\packaging\nsis\wireshark-win32-wireshark-major-minor-version:[].x-myprotocol123.exe
----
to test your new installer. It's a good idea to test on a different machine
than the developer machine.
than the developer machine. Note that if you've built an x64 version, the installer will be named accordingly.
--

View File

@ -25,7 +25,9 @@ tools are available in different "flavours":
emulation
* Windows native: some tools are available as native Windows tools, no special
emulation is required
emulation is required. Many of these tools can be installed (and updated)
using http://chocolatey.org[Chocolatey], a Windows package manager similar
to the linux package managers apt-get or yum.
[WARNING]
.Follow the directions
@ -47,6 +49,30 @@ toolname`.
You will find explanations of the tool usage for some of the specific
development tasks in <<ChapterSources>>.
[[ChToolsWindowsPowerShell]]
=== Windows PowerShell
If you are running Windows Vista you may need to install at least Windows Powershell
2.0, although later versions will also work.
You can download it from https://www.microsoft.com/powershell[]
=== Chocolatey
Chocolatey is a Windows package manager that can be used to install (and update)
many of the packages required for Wireshark development. Chocolatey can be
obtained from the http://chocolatey.org[website] or from a DOS command prompt:
----
C:\>@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
----
or a Powershell prompt:
----
PS:\>iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))
----
[[ChToolsCygwin]]
=== Windows: Cygwin
@ -100,7 +126,7 @@ After clicking the Next button several times the setup
will then download and install the selected packages (this may
take a while, depending on the package size).
Under: 'Start→Programs→Cygwin→Cygwin Bash Shell' you should now be able to start
Under: 'Start->Programs->Cygwin->Cygwin Bash Shell' you should now be able to start
a new Cygwin bash shell, which is similar to the standard Windows command line
interpreters (command.com / cmd.exe) but much more powerful.
@ -217,16 +243,10 @@ http://www.gnu.org/software/ddd/[].
==== make (GNU Make)
[NOTE]
.GNU make isn't supported either
====
Although some effort is made to use make from the
Cygwin environment, the mainline is still using Microsoft
Visual Studio's nmake.
====
.GNU make isn't supported either for Windows
GNU Make is available for most of the UNIX-like
platforms and also as the Devel/make package from the
<<ChToolsCygwin,Cygwin setup>>.
platforms.
If GNU Make isn't already installed or
available as a package for your platform, you can get it at:
@ -275,6 +295,7 @@ compiler, you'll need:
==== Toolchain Package Alternatives
The Wireshark 1.99.x releases are compiled using Microsoft Visual $$C++$$ 2013.
The official Wireshark 1.12.x and 1.10.x releases are compiled using
Microsoft Visual $$C++$$ 2010 SP1.
The official 1.8 releases were compiled using
@ -282,8 +303,12 @@ Microsoft Visual $$C++$$ 2010 SP1 as well.
The official 1.6, 1.4, and 1.2 releases were compiled using
Microsoft Visual $$C++$$ 2008 SP1.
Other past releases, including the 1.0 branch,
were compiled using Microsoft Visual $$C++$$ 6.0. Using the release
compilers is recommended for Wireshark development work. "Express
were compiled using Microsoft Visual $$C++$$ 6.0.
Using the release
compilers is recommended for Wireshark development work.
The older "Express
Edition" compilers such as Visual $$C++$$ 2010 Express Edition SP1 can be
used but any PortableApps packages you create with them
will require the installation of a separate Visual $$C++$$
@ -294,8 +319,17 @@ package is to be used. See
However, you might already have a different Microsoft $$C++$$ compiler
installed. It should be possible to use any of the following with the considerations listed:
.Visual C++ 2013 Community Edition
.Visual C++ 2010 Express Edition (recommended)
IDE + Debugger?:: Yes
Purchase required?:: http://www.visualstudio.com/en-us/downloads/download-visual-studio-vs#d-community[Free Download]
SDK required for 64-bit builds?:: No
config.nmake MSVC_VARIANT:: MSVC2013
.Visual C++ 2010 Express Edition
IDE + Debugger?:: Yes
@ -305,13 +339,8 @@ SDK required for 64-bit builds?:: Yes.
config.nmake MSVC_VARIANT:: MSVC2010EE
32-bit environment setup:: `%PROGRAMFILES%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat x86`
64-bit environment setup:: `%PROGRAMFILES%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat x64`
Remarks:: Installers created using express editions require a $$C++$$ redistributable
('$$vcredist_x86.exe$$' or
'$$vcredist_x86.exe$$').footnoteref[vcredist,'$$vcredist_x86.exe$$' (3MB free
'$$vcredist_x86.exe$$' (3MB free
download) is required to build
Wireshark-win32-wireshark-major-minor-version:[].x.exe, and
'$$vcredist_x64.exe$$' is required to build
@ -319,7 +348,6 @@ Wireshark-win64-wireshark-major-minor-version:[].x.exe. The version of
'$$vcredist_x86.exe$$' or '$$vcredist_x64.exe$$' _must_ match the version for your
compiler including any service packs installed for the compiler.]
.Visual Studio 2010
IDE + Debugger?:: Yes
@ -330,100 +358,15 @@ SDK required for 64-bit builds?:: No
config.nmake MSVC_VARIANT:: MSVC2010
32-bit environment setup:: `%PROGRAMFILES%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat x86`
64-bit environment setup:: `%PROGRAMFILES%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat x64_`
Remarks:: Default compiler in 'config.nmake'. Building a 64-bit installer
Remarks:: Building a 64-bit installer
requires a a $$C++$$ redistributable
('$$vcredist_x86.exe$$').footnoteref[vcredist]
You can use Chocolatey to install Visual Studio, e.g:
.Visual C++ 2008 Express Edition SP1
IDE + Debugger?:: Yes
Purchase required?:: http://www.microsoft.com/download/details.aspx?id=14597[Free Download]
SDK required for 64-bit builds?:: 64-bit build not supported
config.nmake MSVC_VARIANT:: MSVC2008EE
32-bit environment setup:: `%PROGRAMFILES%\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat`
Remarks:: Installers created using express editions require a $$C++$$ redistributable
('$$vcredist_x86.exe$$').footnoteref[vcredist]
.Visual Studio 2008
IDE + Debugger?:: Yes
Purchase required?:: Yes
SDK required for 64-bit builds?:: 64-bit build not supported
config.nmake MSVC_VARIANT:: MSVC2008
32-bit environment setup:: `%PROGRAMFILES%\Microsoft Visual Studio 9.0\VC\bin\vcvars32.bat`
.Visual C++ 2005 Express Edition
IDE + Debugger?:: Yes
Purchase required?:: Free Download (link disappeared)
SDK required for 64-bit builds?:: 64-bit build not supported
config.nmake MSVC_VARIANT:: MSVC2005EE
32-bit environment setup:: `%PROGRAMFILES%\Microsoft Visual Studio 8\VC\bin\vcvars32.bat`
Remarks:: Installers created using express editions require a $$C++$$ redistributable
('$$vcredist_x86.exe$$').footnoteref[vcredist]
.Visual Studio 2005
IDE + Debugger?:: Yes
Purchase required?:: Yes
SDK required for 64-bit builds?:: 64-bit build not supported
config.nmake MSVC_VARIANT:: MSVC2005
32-bit environment setup:: `%PROGRAMFILES%\Microsoft Visual Studio 8\VC\bin\vcvars32.bat`
==== Legal issues with MSVC > V6?
Please note: The following is not legal advice - ask your preferred lawyer
instead. It's the author's view, but this view might be wrong.
The myriad of http://anonsvn.wireshark.org/wireshark-win32-libs/tags/[Win32
support lib] port projects all seem to believe there are legal issues involved
in using newer versions of Visual Studio. This FUD essentially stems from two
misconceptions:
. Unfortunately, it is believed by many that the Microsoft Visual Studio 2003
EULA explicitly forbids linking with GPL'ed programs. This belief is probably
due to an improper interpretation of the
http://msdn.microsoft.com/visualc/vctoolkit2003/eula.aspx[Visual Studio 2003
Toolkit EULA], which places redistribution restrictions only on SOURCE CODE
SAMPLES which accompany the toolkit.
. Other maintainers believe that the GPL itself forbids using Visual Studio 2003
since one of the required support libraries (MSVCR71.DLL) does not ship with the
Windows operating system. This is also a wrongful interpretation, and the
http://www.gnu.org/licenses/gpl-faq.html#WindowsRuntimeAndGPL[GPL FAQ]
explicitly addresses this issue.
The situation is similar for Visual Studio 2005 and later.
It should be perfectly legal to compile
Wireshark, distribute, run it if it was compiled with any
MSVC version > V6.
----
PS:\> cinst VisualStudioCommunity2013
----
==== cl.exe (C Compiler)
@ -433,19 +376,13 @@ versions ordered by release date.
|===============
|Compiler Package|cl.exe|_MSC_VER|CRT DLL
|Visual Studio 2005|8.0|1400|msvcr80.dll
|Visual $$C++$$ 2005 Express Edition
|.NET Framework 2.0 SDK
|Windows SDK for Windows Vista and
.NET Framework 3.0 Runtime Components
|Visual Studio 2008|9.0|1500|msvcr90.dll
|Visual Studio 2008 Express Edition
|Visual Studio 2013|12.0|1800|msvcr120.dll
|Visual Studio 2010|10.0|1600|msvcr100.dll
|Visual Studio 2010 Express Edition
|===============
After correct installation of the toolchain, typing
at the command line prompt (cmd.exe):
at the Visual Studio Command line prompt (cmd.exe):
----
> cl
@ -454,14 +391,17 @@ at the command line prompt (cmd.exe):
should result in something like:
----
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86
Copyright (C) Microsoft Corp. All rights reserved.
Microsoft (R) C/C++ Optimizing Compiler Version 18.00.31101 for x86
Copyright (C) Microsoft Corporation. All rights reserved.
usage: cl [ option... ] filename... [ /link linkoption...
----
However, the version string may vary.
Documentation on the compiler can be found at
http://msdn.microsoft.com/en-us/library/wk21sfcf.aspx[Microsoft MSDN]
[[ChToolsNMake]]
==== nmake.exe (Make)
@ -476,7 +416,7 @@ file formats are similar. However, as no Visual Studio workspace/project files
are available, this makes it hard to use the Visual Studio IDE e.g. for using
the integrated debugging feature.
After correct installation, typing at the command line prompt (cmd.exe):
After correct installation, typing at the Visual Studio Command line prompt (cmd.exe):
----
> nmake
@ -485,8 +425,8 @@ After correct installation, typing at the command line prompt (cmd.exe):
should result in something like:
----
Microsoft (R) Program Maintenance Utility Version 6.00.9782.0
Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
Microsoft (R) Program Maintenance Utility Version 12.00.21005.1
Copyright (C) Microsoft Corporation. All rights reserved.
NMAKE : fatal error U1064: MAKEFILE not found and no target specified
Stop.
@ -495,13 +435,30 @@ Stop.
However, the version string may vary.
Documentation on nmake can be found at
http://msdn2.microsoft.com/library/dd9y37ha(VS.71).aspx[Microsoft MSDN]
http://msdn.microsoft.com/en-us/library/dd9y37ha.aspx[Microsoft MSDN]
==== link.exe (Linker)
****
This section not yet written
****
After correct installation, typing at the Visual Studio Command line prompt (cmd.exe):
----
> link
----
should result in something like:
----
Microsoft (R) Incremental Linker Version 12.00.31101.0
Copyright (C) Microsoft Corporation. All rights reserved.
usage: LINK [options] [files] [@commandfile]
...
----
However, the version string may vary.
Documentation on the linker can be found at
http://msdn.microsoft.com/en-us/library/t2fck18t.aspx[Microsoft MSDN]
[[msvc-runtime-redistributable]]
@ -536,175 +493,30 @@ can't be legally redistributed by third parties like
us.
====
The following MSDN links are recommended for the
The following MSDN link is recommended for the
interested reader:
* http://msdn2.microsoft.com/library/ms235299(VS.80).aspx[Redistributing Visual C++ Files]
* http://msdn2.microsoft.com/library/ms235291(VS.80).aspx[How to: Deploy using XCopy]
* http://support.microsoft.com/?scid=kb%3Ben-us%3B326922&amp;x=10&amp;y=13[Redistribution
of the shared C runtime component in Visual $$C++$$ 2005 and in Visual $$C++$$
.NET]
* http://msdn.microsoft.com/en-us/library/ms235299.aspx[Redistributing Visual C++ Files]
In all cases where '$$vcredist_x86.exe$$' or '$$vcredist_x64.exe$$' is
downloaded it should be downloaded to the directory into which the support
libraries for Wireshark have been downloaded and installed. This directory is
specified by the WIRESHARK_LIB_DIR setting in the 'config.nmake'. By default it
is 'C:\wireshark-win32-libs'. It need not, and should not, be run after being
is 'C:\Development\wireshark-win32-libs'. It need not, and should not, be run after being
downloaded.
===== msvcr80.dll / vcredist_x86.exe - Version 8.0 (2005)
===== msvcr120.dll / vcredist_x86.exe / vcredist_x64.exe - Version 12.0 (2013)
There are three redistribution methods that MSDN
mentions for MSVC 8 (see
http://msdn.microsoft.com/library/ms235316(VS.80).aspx["Choosing a Deployment Method"]):
. 'Using Visual $$C++$$ Redistributable Merge Modules'.
(Loadable modules for building msi installers.
Not suitable for Wireshark's NSIS based installer)
. 'Using Visual $$C++$$ Redistributable Package'. The Microsoft libraries are
installed by copying '$$vcredist_x86.exe$$', '$$vcredist_x64.exe$$', or
'$$vcredist_ia64.exe$$' to the target machine and executing it on that machine
(MSDN recommends this for applications built with Visual Studio 2005 Express
Edition).
. 'Install a particular Visual $$C++$$ assembly as a private assembly for the
application'. The Microsoft libraries are installed by copying the folder
content of 'Microsoft.VC80.CRT' to the target directory (e.g. 'C:\Program
Files\Wireshark')
To save installer size, and to make a portable
version of Wireshark (which must be completely self-contained,
on a medium such as a flash drive, and not require that an
installer be run to install anything on the target machine)
possible, when building 32-bit Wireshark with MSVC2005, method
3 (copying the content of 'Microsoft.VC80.CRT')
is used (this produces the smallest package).
As MSVC2005EE and DOTNET20 don't provide the folder
'Microsoft.VC80.CRT', when 32-bit Wireshark
is built with either of them method 2 is used.
You'll have to download the appropriate version of
'$$vcredist_x86.exe$$' from Microsoft for your
compiler version.
A portable version of 64-bit Wireshark is not built, so method 3 is used for all
64-bit builds. You'll have to download the appropriate version of
'$$vcredist_x64.exe$$' or '$$vcredist_ia64.exe$$' from Microsoft for your target
processor and compiler version.
* For 32-bit builds using Microsoft Visual $$C++$$ 2005
Express Edition without Service Pack 1, you need
'8.0.50608.0',
from: "Microsoft Visual $$C++$$ 2005 Redistributable Package (x86)":
http://www.microsoft.com/download/details.aspx?id=3387[].
* For 64-bit x86 (x64) builds using Microsoft Visual $$C++$$
2005, any edition, without Service Pack 1, you need
'{fill this in}',
from: "Microsoft Visual $$C++$$ 2005 Redistributable Package (x64)":
http://www.microsoft.com/download/details.aspx?id=21254[].
* For IA-64 builds using Microsoft Visual $$C++$$ 2005, any
edition, without Service Pack 1, you need
'{fill this in}',
from: "Microsoft Visual $$C++$$ 2005 Redistributable Package (IA64)":
http://www.microsoft.com/download/details.aspx?id=16326[].
* For 32-bit builds using Microsoft Visual $$C++$$ 2005
Express Edition with Service Pack 1, you need
'8.0.50727.762', from: "Microsoft
Visual $$C++$$ 2005 SP1 Redistributable Package (x86)":
http://www.microsoft.com/download/details.aspx?id=5638[].
* For 64-bit x86 builds using Microsoft Visual $$C++$$ 2005,
any edition, with Service Pack 1, you need
'{fill this in}', from: "Microsoft
Visual $$C++$$ 2005 SP1 Redistributable Package (x64)":
http://www.microsoft.com/download/details.aspx?id=18471[].
Please send a message to the wireshark-dev mailing list if you
find a different version number.
===== msvcr90.dll / vcredist_x86.exe / vcredist_x64.exe - Version 9.0 (2008)
There are three redistribution methods that MSDN
mentions for MSVC 9 (see:
http://msdn.microsoft.com/en-US/library/ms235316(v=vs.90).aspx["Choosing a Deployment Method"]):
. 'Using Visual $$C++$$ Redistributable Merge Modules'.
(Loadable modules for building msi installers.
Not suitable for Wireshark's NSIS based installer)
. 'Using Visual $$C++$$ Redistributable Package'. The Microsoft
libraries are installed by copying '$$vcredist_x64.exe$$' or
'$$vcredist_x86.exe$$' to the target machine and executing it on that machine
(MSDN recommends this for applications built with Visual Studio 2008 Express
Edition)
. 'Install a particular Visual $$C++$$ assembly as a private assembly for the
application'. The Microsoft libraries are installed by copying the folder
content of _Microsoft.VC90.CRT_to the target directory (e.g. 'C:\Program
Files\Wireshark')
To save installer size and to make a portable version of Wireshark (which must
be completely self-contained, on a medium such as a flash drive, and not require
that an installer be run to install anything on the target machine) possible,
when building 32-bit Wireshark with MSVC2008, method 3 (copying the content of
'Microsoft.VC90.CRT') is used (this produces the smallest package).
As MSVC2008EE doesn't provide the folder 'Microsoft.VC90.CRT', when 32-bit
Wireshark is built with it method 2 is used. You'll have to download the
appropriate version of '$$vcredist_x64.exe$$' from Microsoft for your compiler
version.
A portable version of 64-bit Wireshark is not built, so method 2 is used for all
64-bit builds. You'll have to download the appropriate version of
'$$vcredist_x86.exe$$' from Microsoft for your compiler version.
* For 32-bit builds using Microsoft Visual $$C++$$ 2008
Express Edition without Service Pack 1, you need
'9.0.21022.8', from:
"Microsoft Visual $$C++$$ 2008 Redistributable Package (x86)":
http://www.microsoft.com/download/details.aspx?id=29[].
* For 64-bit builds using Microsoft Visual $$C++$$ 2008,
any edition, without Service Pack 1, you need
'9.0.21022.8', from:
"Microsoft Visual $$C++$$ 2008 Redistributable Package (x64)":
http://www.microsoft.com/download/details.aspx?id=15336[].
* For 32-bit builds with Microsoft Visual $$C++$$ 2008
Express Edition with Service Pack 1, you need
'9.0.30729.17', from:
"Microsoft Visual $$C++$$ 2008 SP1 Redistributable Package (x86)":
http://www.microsoft.com/download/details.aspx?id=5582[].
* For 64-bit builds with Microsoft Visual $$C++$$ 2008,
any edition, with Service Pack 1, you need
'9.0.30729.17', from:
"Microsoft Visual $$C++$$ 2008 SP1 Redistributable Package (x64)":
http://www.microsoft.com/download/details.aspx?id=2092[].
Please send a message to the wireshark-dev mailing list if you
find a different version number.
===== msvcr100.dll / vcredist_x86.exe / vcredist_x64.exe - Version 10.0 (2010)
There are three redistribution methods that MSDN
mentions for MSVC 10 (see:
http://msdn.microsoft.com/en-US/library/ms235316(v=vs.100).aspx["Choosing a Deployment Method"]):
mentions for MSVC 2013 (see:
http://msdn.microsoft.com/en-us/library/vstudio/ms235316(v=vs.120).aspx["Choosing a Deployment Method"]):
. 'Using Visual $$C++$$ Redistributable Package'.
The Microsoft libraries are installed by copying
'$$vcredist_x64.exe$$' or
'$$vcredist_x86.exe$$' to the target
machine and executing it on that machine (MSDN recommends
this for applications built with Visual Studio 2010,
both Express Edition and non-Express editions)
this for applications built with Visual Studio 2013)
. 'Using Visual $$C++$$ Redistributable Merge Modules'.
(Loadable modules for building msi installers.
@ -713,53 +525,17 @@ Not suitable for Wireshark's NSIS based installer)
. 'Install a particular Visual $$C++$$ assembly as a
private assembly for the application'. The
Microsoft libraries are installed by copying the folder
content of 'Microsoft.VC100.CRT' to
content of 'Microsoft.VC120.CRT' to
the target directory (e.g. 'C:\Program Files\Wireshark')
To save installer size, and to make a portable
version of Wireshark (which must be completely self-contained,
on a medium such as a flash drive, and not require that an
installer be run to install anything on the target machine)
possible, when building 32-bit Wireshark with MSVC2010, method
3 (copying the content of 'Microsoft.VC100.CRT')
possible, when building 32-bit Wireshark with MSVC2013, method
3 (copying the content of 'Microsoft.VC120.CRT')
is used (this produces the smallest package).
As MSVC20010EE doesn't provide the folder 'Microsoft.VC100.CRT', when 32-bit
Wireshark is built with it method 1 is used. You'll have to download the
appropriate version of '$$vcredist_x64.exe$$' from Microsoft that corresponds to
your compiler version.
A portable version of 64-bit Wireshark is not built, so method
1 is used for all 64-bit builds. You'll have to download the
appropriate version of '$$vcredist_x86.exe$$' from Microsoft for your compiler version.
* For 32-bit builds using Microsoft Visual $$C++$$ 2010
Express Edition without Service Pack 1, you need
'10.0.30319.1', from: "Microsoft Visual
$$C++$$ 2010 Redistributable Package (x86)":
http://www.microsoft.com/download/en/details.aspx?id=5555[].
* For 64-bit builds using Microsoft Visual $$C++$$ 2010,
any edition, without Service Pack 1, you need
'10.0.30319.1', from: "Microsoft Visual
$$C++$$ 2010 Redistributable Package (x64)":
http://www.microsoft.com/download/details.aspx?id=14632[].
* For 32-bit builds using Microsoft Visual $$C++$$ 2010
Express Edition with Service Pack 1, you need
'10.0.40219.1', from: "Microsoft Visual
$$C++$$ 2010 SP1 Redistributable Package (x86)":
http://www.microsoft.com/download/en/details.aspx?id=8328[].
* For 64-bit builds using Microsoft Visual $$C++$$ 2010,
any edition, with Service Pack 1, you need
'10.0.40219.1', from: "Microsoft Visual
$$C++$$ 2010 SP1 Redistributable Package (x64)":
http://www.microsoft.com/download/details.aspx?id=13523[].
Please report to the developer mailing list, if you
find a different version number!
==== Windows (Platform) SDK
The Windows Platform SDK (PSDK) or Windows SDK is a free
@ -768,8 +544,8 @@ libraries (e.g. 'windows.h', 'WSock32.lib', etc.). As new Windows
features evolve in time, updated SDK's become available that
include new and updated APIs.
When you purchase a commercial Visual Studio, it will
include an SDK. The free (as in beer) downloadable C compiler
When you purchase a commercial Visual Studio or use the Community Edition, it will
include an SDK. The free Express (as in beer) downloadable C compiler
versions (V$$C++$$ 2012 Express, V$$C++$$ 2012 Express, etc.) do not
contain an SDK -- you'll need to download a PSDK in order to
have the required C header files and libraries.
@ -778,15 +554,6 @@ Older versions of the SDK should also work. However, the
command to set the environment settings will be different, try
search for SetEnv.* in the SDK directory.
Prior to Windows Vista, the name "Platform SDK" was used;
starting with Vista, the name was changed just to "Windows
Software Development Kit" or "Windows SDK". The full names of the
SDKs can be misleading; for example, the SDK for Vista was called
the "Microsoft Windows Software Development Kit for Windows Vista
and .NET Framework 3.0 Runtime Components", which really means the
Windows SDK for Windows Vista and Platforms (like WinXP) that have
the .NET 3.0 runtime installed.
==== HTML Help
HTML Help is used to create the User's and Developer's Guide in .chm format and
@ -843,15 +610,16 @@ standalone GUI debugger. Although it's not that comfortable compared to
debugging with the Visual Studio integrated debugger it can be helpful if you
have to debug on a machine where an integrated debugger is not available.
You can get it free of charge at:
http://www.microsoft.com/whdc/devtools/debugging/default.mspx[] (as
links to Microsoft pages change from time to time, search
for "Debugging Tools" at their page if this link happens to be
outdated).
You can get it free of charge from Microsoft in several ways, see the http://msdn.microsoft.com/en-us/library/windows/hardware/ff551063%28v=vs.85%29.aspx)[Debugging tools for Windows] page.
You can also use Chocolatey to install WinDbg:
----
PS:\> cinst windbg
----
[[ChToolsBash]]
=== bash
The bash shell is needed to run several shell scripts.
@ -906,6 +674,12 @@ Windows packages and source are available at http://python.org/download/[].
The Cygwin Python package is *not* recommended since `/usr/bin/python` is
a symbolic link, which causes confusion outside Cygwin.
You can also use Chocolatey to install Python:
----
PS:\> cinst Python2
----
You can verify your Python version by running
----
@ -915,8 +689,8 @@ $ python --version
on UNIX and Linux and
----
C:\> cd python27
C:\Python27> python --version
C:> cd python27
C:Python27> python --version
----
on Windows. You should see something like
@ -978,11 +752,22 @@ However, the version string may vary.
==== Windows native: Perl
// XXX - Straberry?
A native Windows Perl package can be obtained from
http://www.ActiveState.com[]. The installation
http://www.ActiveState.com[Active State] or http://strawberryperl.com/[Strawberry Perl]. The installation
should be straightforward.
You may also use Chocolatey to install either package:
----
PS:\> cinst ActivePerl
----
or
----
PS:\> cinst StrawberryPerl
----
After correct installation, typing at the command
line prompt (cmd.exe):
@ -1139,6 +924,10 @@ A native Windows version of flex is available in the _winflexbison_
https://chocolatey.org/[Chocolatey] package. Note that the executable is named
`win_flex`.
----
PS:\>cinst winflexbison
----
Native packages are available from other sources such as
http://gnuwin32.sourceforge.net/packages/flex.htm[GnuWin]. They aren't
officially supported but _should_ work.
@ -1194,7 +983,11 @@ Your version will likely be different.
==== Windows native: git
The Git command line tools for Windows can be found at
http://git-scm.com/download/win[].
http://git-scm.com/download/win[] and can also be installed using Chocolatey:
----
PS:\> cinst git
----
After correct installation, typing at the command
line prompt (cmd.exe):
@ -1211,6 +1004,18 @@ git version 1.8.3.4
However, the version string may vary.
[[ChToolsGitPowerShellExtensions]]
=== Git Powershell Extensions (optional)
A useful tool for command line git on Windows is https://github.com/dahlbyk/posh-git[PoshGit].
Poshgit provides git command completion and alters the prompt to indicate the local working
copy status. You can install it using Chocolatey:
----
PS:\>cinst poshgit
----
[[ChToolsGitGUI]]
=== Git GUI client (optional)
@ -1277,17 +1082,10 @@ However, the version string may vary.
==== Windows native: patch
A native Windows patch package can be obtained from
The Windows native Git tools provide patch. A native Windows patch package can be obtained from
http://gnuwin32.sourceforge.net/[]. The
installation should be straightforward.
[[ChToolsWindowsPowerShell]]
=== Windows PowerShell
If you are running Windows Vista you may need to install Windows Powershell 2.0.
You can download it from https://www.microsoft.com/powershell[]
[[ChToolsWget]]
=== Windows: GNU wget (optional)
@ -1295,7 +1093,11 @@ You can download it from https://www.microsoft.com/powershell[]
GNU wget is used to download files from the internet using the command line.
GNU wget is available for most of the UNIX-like platforms and as the wget
package from the <<ChToolsCygwin,Cygwin setup>>.
package from the <<ChToolsCygwin,Cygwin setup>> and also using Chocolatey:
----
PS$> cinst Wget
----
You will only need wget, if you want to use the Windows automated library
download, see <<ChLibsSetup>>for details.
@ -1360,7 +1162,7 @@ To install it, do the following:
* Download the latest PortableApps.com Platform release from
http://portableapps.com/[]. `config.nmake` uses the ``Local
All Users'' install location (`C:\`) by default.
All Users'' install location (`C:`) by default.
* Install the following applications in the PortableApps.com environment:

View File

@ -65,7 +65,8 @@ Wireshark development community!
=== About this document
// XXX - Convert to document attribute
This book was developed by mailto:wsdg-author-email:[][Ulf Lamping].
This book was developed by mailto:wsdg-author-email:[][Ulf Lamping]
and updated for VS2013 by mailto:wsdg-author-email2:[][Graham Bloice]
It is written in AsciiDoc.