Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Qt WebKit
  4. QWebKit Compile error concerning macros
Forum Updated to NodeBB v4.3 + New Features

QWebKit Compile error concerning macros

Scheduled Pinned Locked Moved Unsolved Qt WebKit
8 Posts 3 Posters 1.3k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    anshah
    wrote on last edited by
    #1

    I'm using Ubuntu 14.04 which doesn't support QWebEngine so I'm trying to port QWebEngine to QWebKit and I'm getting the following compiler error:

    In file included from /usr/include/qt5/QtNetwork/qsslcertificate.h:53:0,
                     from /usr/include/qt5/QtNetwork/qsslerror.h:47,
                     from /usr/include/qt5/QtNetwork/qsslsocket.h:50,
                     from /usr/include/qt5/QtNetwork/qsslconfiguration.h:61,
                     from /usr/include/qt5/QtNetwork/QSslConfiguration:1,
                     from /usr/include/qt5/QtNetwork/qnetworkaccessmanager.h:47,
                     from /usr/include/qt5/QtWebKitWidgets/qwebview.h:29,
                     from /usr/include/qt5/QtWebKitWidgets/QWebView:1,
                     from /home/user/MyHeader.h:8,
                     from /home/user/MySource.cpp:1:
    /usr/include/qt5/QtCore/qdatetime.h:122:77: error: macro "min" requires 2 arguments, but only 1 given
         static inline qint64 nullJd() { return std::numeric_limits<qint64>::min(); }
                                                                                 ^
    /usr/include/qt5/QtCore/qdatetime.h: In static member function ‘static qint64 QDate::nullJd()’:
    /usr/include/qt5/QtCore/qdatetime.h:122:73: error: invalid conversion from ‘long long int (*)()noexcept (true)’ to ‘qint64 {aka long long int}’ [-fpermissive]
         static inline qint64 nullJd() { return std::numeric_limits<qint64>::min(); }
    
    

    I looked around a few forums and tried the suggestions but nothing worked. I added NOMINMAX to the QT DEFINES in the make file as well as added but nothing helped.

    My Qt code has been integrated with existing non-Qt code so if there is a macro conflict I never saw it with QWebEngineView.

    1 Reply Last reply
    0
    • SGaistS Offline
      SGaistS Offline
      SGaist
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi,

      What version of Qt are you using ?

      Interested in AI ? www.idiap.ch
      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

      A 1 Reply Last reply
      0
      • SGaistS SGaist

        Hi,

        What version of Qt are you using ?

        A Offline
        A Offline
        anshah
        wrote on last edited by
        #3

        @SGaist It was the version offered in apt-get. It was qt5-default...not sure which version that installs.

        1 Reply Last reply
        0
        • SGaistS Offline
          SGaistS Offline
          SGaist
          Lifetime Qt Champion
          wrote on last edited by
          #4

          apt-cache policy qt5-default

          Interested in AI ? www.idiap.ch
          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

          A 1 Reply Last reply
          0
          • K Offline
            K Offline
            Konstantin Tokarev
            wrote on last edited by
            #5

            @anshah said in QWebKit Compile error concerning macros:

            Ubuntu 14.04

            Ubuntu 14.04 ships with Qt 5.2 with QtWebKit from Qt 5.1. Both are horribly outdated, QtWebKit 5.1 is based on WebKit engine sources from 2012 so don't expect it to handle modern web content.

            However, I have no clue about this compilation error. At least it has nothing to do with QtWebkit, as QtCore/qdatetime.h doesn't compile.

            A 1 Reply Last reply
            0
            • SGaistS SGaist

              apt-cache policy qt5-default

              A Offline
              A Offline
              anshah
              wrote on last edited by
              #6

              @SGaist

              qt5-default:
              Installed: (none)
              Candidate: 5.2.1+dfsg-1ubuntu14.3
              Version table:
              5.2.1+dfsg-1ubuntu14.3 0
              500 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
              500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
              5.2.1+dfsg-1ubuntu14 0
              500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages

              1 Reply Last reply
              0
              • K Konstantin Tokarev

                @anshah said in QWebKit Compile error concerning macros:

                Ubuntu 14.04

                Ubuntu 14.04 ships with Qt 5.2 with QtWebKit from Qt 5.1. Both are horribly outdated, QtWebKit 5.1 is based on WebKit engine sources from 2012 so don't expect it to handle modern web content.

                However, I have no clue about this compilation error. At least it has nothing to do with QtWebkit, as QtCore/qdatetime.h doesn't compile.

                A Offline
                A Offline
                anshah
                wrote on last edited by anshah
                #7

                @Konstantin-Tokarev
                @SGaist

                Thank you guys I appreciate your responses.
                I have developed my application using QWebEngine from an installer which I downloaded from download.qt.io. Since Ubuntu 14.04 only supports up to Qt 5.8 that's the version I installed.

                The reason I wanted to try porting back to QtWebKit in the first place is because I wanted to install Qt using an install from "apt-get" instead of the installer provided by the Qt site. The problem is the QWebEngine is not available using "apt-get" unless I add the ethereum repository which came with it's own host of problems. QWebkit is available under the "apt-get" packages so I thought I could do the Qt install like this:

                sudo apt-get install qt-default
                sudo apt-get install libqt5webkit5-dev
                

                So I installed Qt with QWebKit and I got the compile issue above. However, if you are saying that it doesn't handle modern web content and is outdated then I'll just stick with QWebEngine and not mess around with QtWebKit.

                Since ethereum repository is unreliable the only reliable way I can get Qt with QWebEngine on Ubuntu 14.04 is by installing the Qt 5.8 installer. Now my application build has an RPM spec file with "Requires" and "BuildRequires" tags where packages are added for dependencies:

                Example:

                BuildRequires: build-essential
                
                Requires: qt5-default 
                Requires: qt5webengine5-dev
                

                Since I'm installing Qt using an installer how do I indicate this in "BuildRequires" or "Requires" since there are no packages associated with this. The installer just places the needed include and libraries in /opt/Qt5.8.0 which I find and point to in my Makefile. Is there a way to indicate this in RPM? Maybe the library names?

                1 Reply Last reply
                0
                • K Offline
                  K Offline
                  Konstantin Tokarev
                  wrote on last edited by
                  #8

                  In RPM you can only have things (files, packages, "provides") installed by RPM as dependencies of your package

                  1 Reply Last reply
                  0

                  • Login

                  • Login or register to search.
                  • First post
                    Last post
                  0
                  • Categories
                  • Recent
                  • Tags
                  • Popular
                  • Users
                  • Groups
                  • Search
                  • Get Qt Extensions
                  • Unsolved