octave-maintainers
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: GUI on MacOS X !


From: Mike Miller
Subject: Re: GUI on MacOS X !
Date: Sun, 24 Sep 2017 17:13:03 -0700
User-agent: NeoMutt/20170609 (1.8.3)

On Sun, Sep 24, 2017 at 19:54:24 -0400, Ben Abbott wrote:
> In any event, the additional info from config.log is below.
> 
> configure:70547: checking for QAbstractItemModel::beginResetModel in 
> <QAbstractItemModel>
> configure:70602: /sw/var/lib/fink/path-prefix-libcxx/c++ -std=gnu++11 -c 
> -fPIC -O2 -g -fno-omit-frame-pointer -D_THREAD_SAFE -pthread  
> -I/sw/lib/qt5-mac/lib/QtCore.framework/Headers 
> -I/sw/lib/qt5-mac/lib/QtGui.framework/Headers 
> -I/sw/lib/qt5-mac/lib/QtNetwork.framework/Headers 
> -I/sw/lib/qt5-mac/lib/QtOpenGL.framework/Headers 
> -I/sw/lib/qt5-mac/lib/QtWidgets.framework/Headers 
> -I/sw/lib/qt5-mac/lib/QtPrintSupport.framework/Headers 
> -I/sw/lib/qt5-mac/include -fPIC -I/sw/include conftest.cpp >&5
> In file included from conftest.cpp:769:
> In file included from 
> /sw/lib/qt5-mac/lib/QtCore.framework/Headers/QAbstractItemModel:1:
> /sw/lib/qt5-mac/lib/QtCore.framework/Headers/qabstractitemmodel.h:43:10: 
> fatal error: 'QtCore/qvariant.h' file not found
> #include <QtCore/qvariant.h>
>          ^~~~~~~~~~~~~~~~~~~
> 1 error generated.
> 
> I can verify that qvariant.h is the QtCore framework, i.e. it is in 
> QtCore.framework/Versions/5//Headers

So this looks related to the -I options required to build against Qt and
how the header files are organized in your package management system.

First, I know that Qt recommends the following style in user code

    #include <QAbstractItemModel>

Second, I can verify that my system has the same include as yours,
specifically

    $ grep 'include.*qvariant' $( find /usr/include -path 
'*qt5*qabstractitemmodel.h' )
    #include <QtCore/qvariant.h>

So the only difference is the -I options that are derived on your system
from pkg-config.

On my system, "pkg-config --cflags Qt5Core" gives the following

    -I/usr/include/x86_64-linux-gnu/qt5/QtCore 
-I/usr/include/x86_64-linux-gnu/qt5

So that all of the following include styles work

    #include <QVariant>
    #include <qvariant.h>
    #include <QtCore/QVariant>
    #include <QtCore/qvariant.h>

This seems like a pretty fundamental bug of how Qt 5 is packaged on your
system, if the -I options returned by pkg-config don't let you compile a
trivial file including a Qt header file.

Do the "Headers" directories in your list of -I directories also contain
subdirectories named QtCore, QtGui, etc?

-- 
mike

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]