Wireshark-dev: Re: [Wireshark-dev] Buildiing with Qt 5.8 fails on Windows

From: Anders Broman <anders.broman@xxxxxxxxxxxx>
Date: Thu, 9 Mar 2017 16:02:19 +0000

Hi,

It looks like it’s this problem

https://bugreports.qt.io/browse/QTBUG-58345?jql=text%20~%20%22Qt5CoreMacros%22

 

Change Qt5CoreMacros.cmake

Line 93 – 95 to:

 

if (MSVC)
set(${_moc_flags} ${${_moc_flags}} --compiler-flavor=msvc)
endif()

 

Makes the build work.

 

Regards

Anders

 

From: wireshark-dev-bounces@xxxxxxxxxxxxx [mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] On Behalf Of Anders Broman
Sent: den 9 mars 2017 14:23
To: Developer support list for Wireshark <wireshark-dev@xxxxxxxxxxxxx>
Subject: Re: [Wireshark-dev] Buildiing with Qt 5.8 fails on Windows

 

> You can also just nuke the build dir and run the CMake gen and a normal build command.

This is what I did prior to building…

 

In the moc file you can see that it is built with Qt 5.8

#include "../../../wireshark/ui/qt/capture_file_dialog.h"

#include <QtCore/qbytearray.h>

#include <QtCore/qmetatype.h>

#if !defined(Q_MOC_OUTPUT_REVISION)

#error "The header file 'capture_file_dialog.h' doesn't include <QObject>."

#elif Q_MOC_OUTPUT_REVISION != 67

#error "This file was generated using the moc from 5.8.0. It"

#error "cannot be used with the include files from this version of Qt."

#error "(The moc has changed too much.)"

#endif

 

But it looks like it’s not obeying

 

From the .h file

private slots:

#if !defined(Q_OS_WIN)

    void preview(const QString & path);

    void on_buttonBox_helpRequested();

#endif // Q_OS_WIN

 

 

Regards

Anders

 

From: wireshark-dev-bounces@xxxxxxxxxxxxx [mailto:wireshark-dev-bounces@xxxxxxxxxxxxx] On Behalf Of Graham Bloice
Sent: den 9 mars 2017 12:48
To: Developer support list for Wireshark <wireshark-dev@xxxxxxxxxxxxx>
Subject: Re: [Wireshark-dev] Buildiing with Qt 5.8 fails on Windows

 

General answer, not specific to the QT and VS versions, Have you previously built in this directory?  If so delete CMakeCache.txt, run the CMake generation step and then add "/t:Rebuild" to the msbuild command line to force a total rebuild.  You can also just nuke the build dir and run the CMake gen and a normal build command.

 

On 9 March 2017 at 11:43, Anders Broman <anders.broman@xxxxxxxxxxxx> wrote:

Hi,

Trying to build with Qt 5.8 and Visual Studio 2015 I get:

         C:\Development\wsbuild-gpl\ui\qt\moc_capture_file_dialog.cpp(113): error C2039: 'preview': is not a member of 'CaptureFileDialog' [C:\Development\wsbuild-gpl\ui\qt\qtui.vcxproj]

         C:\Development\wsbuild-gpl\ui\qt\moc_capture_file_dialog.cpp(114): error C2039: 'on_buttonBox_helpRequested': is not a member of 'CaptureFileDialog' [C:\Development\wsbuild-gpl\ui\qt\qtui.vcxproj]

         C:\Development\wsbuild-gpl\ui\qt\moc_export_dissection_dialog.cpp(85): error C2039: 'exportTypeChanged': is not a member of 'ExportDissectionDialog' [C:\Development\wsbuild-gpl\ui\qt\qtui.vcxproj]

         C:\Development\wsbuild-gpl\ui\qt\moc_export_dissection_dialog.cpp(86): error C2039: 'checkValidity': is not a member of 'ExportDissectionDialog' [C:\Development\wsbuild-gpl\ui\qt\qtui.vcxproj]

         C:\Development\wsbuild-gpl\ui\qt\moc_export_dissection_dialog.cpp(87): error C2039: 'on_buttonBox_helpRequested': is not a member of 'ExportDissectionDialog' [C:\Develo

 

 

Any ideas?

 

Regards

Anders


___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@xxxxxxxxxxxxx>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request@xxxxxxxxxxxxx?subject=unsubscribe



 

--

Graham Bloice

Software Developer

Trihedral UK Limited