Hello ,

I am trying to compile Wireshark for the first time, following the tutorial available at:

https://www.wireshark.org/docs/wsdg_h...

I want to add my own dissector in C language, and for this I need to go through the Wireshark compile process.

After following all the instructions for downloading, setting up the environment variables and generating files, I proceeded to the compilation part and the compilation always crashes at the same part:

Previous IPDB not found fall back to full compilation


I tried to do the compilation directly from the terminal x64 Native Tools Commande Prompt for VS2019 and also directly from Visual Studio (opening the program file and clicking on debug).

I followed the instructions of a forum, recommending to pass the variable /LGTC: incremental to /LGTC but I still get the same compilation error.

After the compilation crashes, I get errors for files that exist but are not handled:

Gravité Code    Description Projet  Fichier Ligne   État de la suppression
Erreur  LNK1120 3686 externes non résolus   wireshark   C:\Development\wsbuild64\run\Release\Wireshark.exe  1


Thank you !

edit retag close merge delete

The issue you report Previous IPDB not found ... isn't usually a fatal error, it just meant that the intermediate file created by the compiler in a previous build hasn't been found and so the compiler will compile everything.

Link error 1120 is just reporting the summary count of link errors, in this case 1. The actual error will have been reported with a LNK2001 or LNK2019. Are you using CMake 3.20, there have been some recent reported issues with it?

Finally, I would ignore other forums for advice on building Wireshark, it's often out of date or simply wrong, all the essential info is in the Wireshark Developers Guide, the Wireshark wiki or on this site.

( 2021-05-20 14:51:58 +0000 )edit

I think that would translate to "LNK1120: 3686 unresolved externals"
When you set the environment variables, was it something like this:

set WIRESHARK_BASE_DIR=C:\Development
set QT5_BASE_DIR=C:\Qt\5.15.2\msvc2019_64


Was the output of cmake -G "Visual Studio 16 2019" -A x64 ..\wireshark clean?

Can you run the build step msbuild /m /p:Configuration=RelWithDebInfo Wireshark.sln and capture the output to a file. Are there any warnings/errors before the final link error?

( 2021-05-20 19:12:42 +0000 )edit

I don't have

C:\Qt\5.15.2\msvc2019_64

I'm using:

C:\Qt\5.15.2\mingw81_64

Now I'll reinstall QT for use the msvc2019_64.

The output of cmake -G "Visual Studio 16 2019" -A x64 ..\wireshark is not clean".

When I run "msbuild /m /p:Configuration=RelWithDebInfo Wireshark.sln" I don't have any warnings but I have 3000 erros of the untreated links

( 2021-05-21 07:26:06 +0000 )edit

Sort by » oldest newest most voted

From the Developers Guide section on obtaining Qt, I've emboldened the important bits.

The main Wireshark application uses the Qt windowing toolkit. To install Qt, go to the “Download Qt” page, select “Go open source”, download the Qt Online Installer for Windows from the Qt Project and select, for the desired Qt version, a component that matches your target system and compiler. For example, at the time of this writing the Qt 5.15.2 “msvc2019 64-bit” component is used to build the official 64-bit packages.

Note that installation of separate Qt components are required for 32 bit and 64 bit builds, e.g. “msvc2019 32-bit” and “msvc2019 64-bit”. The environment variable QT5_BASE_DIR should be set as appropriate for your environment and should point to the Qt directory that contains the bin directory, e.g. C:\Qt\5.15.2\msvc2019_64

If you follow the instructions in the Developers guide, without deviation, you will end up with a working build system.

more