pceccon
pceccon

Reputation: 9844

Unable to use Boost + Qt in Mac

I installed Boost on a iMac running Yosemite through home-brew.

I'm trying to run a code that uses Boost running it with Qt4 but I get a bunch of errors:

enter image description here

Sample:

In file included from ../TLCVis/main.cpp:31:
In file included from ../TLCVis/global.h:33:
In file included from ../TLCVis/querymanager.h:33:
In file included from ../TLCVis/KdTrip.hpp:38:
In file included from /usr/local/include/boost/iostreams/device/mapped_file.hpp:20:
In file included from /usr/local/include/boost/iostreams/close.hpp:18:
In file included from /usr/local/include/boost/iostreams/flush.hpp:17:
In file included from /usr/local/include/boost/iostreams/detail/dispatch.hpp:17:
In file included from /usr/local/include/boost/iostreams/traits.hpp:39:
In file included from /usr/local/include/boost/range/iterator_range.hpp:13:
In file included from /usr/local/include/boost/range/iterator_range_core.hpp:27:
/usr/local/include/boost/iterator/iterator_facade.hpp:890:3: warning: unused typedef 'boost_static_assert_typedef_890' [-Wunused-local-typedef]
  BOOST_ITERATOR_FACADE_RELATION(==, return, equal)
  ^
/usr/local/include/boost/iterator/iterator_facade.hpp:883:3: note: expanded from macro 'BOOST_ITERATOR_FACADE_RELATION'
  BOOST_ITERATOR_FACADE_INTEROP(                                    \
  ^
/usr/local/include/boost/iterator/iterator_facade.hpp:872:7: note: expanded from macro 'BOOST_ITERATOR_FACADE_INTEROP'
      BOOST_STATIC_ASSERT((                                                     \
      ^
/usr/local/include/boost/static_assert.hpp:170:16: note: expanded from macro 'BOOST_STATIC_ASSERT'
               BOOST_JOIN(boost_static_assert_typedef_, __LINE__) BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE
               ^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/usr/local/include/boost/config/suffix.hpp:545:31: note: expanded from macro 'BOOST_DO_JOIN'
#define BOOST_DO_JOIN( X, Y ) BOOST_DO_JOIN2(X,Y)
                              ^
/usr/local/include/boost/config/suffix.hpp:546:32: note: expanded from macro 'BOOST_DO_JOIN2'
#define BOOST_DO_JOIN2( X, Y ) X##Y
                               ^
<scratch space>:95:1: note: expanded from here
boost_static_assert_typedef_890
^
In file included from ../TLCVis/main.cpp:31:
In file included from ../TLCVis/global.h:33:
In file included from ../TLCVis/querymanager.h:33:
In file included from ../TLCVis/KdTrip.hpp:38:
In file included from /usr/local/include/boost/iostreams/device/mapped_file.hpp:20:
In file included from /usr/local/include/boost/iostreams/close.hpp:18:
In file included from /usr/local/include/boost/iostreams/flush.hpp:17:
In file included from /usr/local/include/boost/iostreams/detail/dispatch.hpp:17:
In file included from /usr/local/include/boost/iostreams/traits.hpp:39:
In file included from /usr/local/include/boost/range/iterator_range.hpp:13:
In file included from /usr/local/include/boost/range/iterator_range_core.hpp:27:
/usr/local/include/boost/iterator/iterator_facade.hpp:891:3: warning: unused typedef 'boost_static_assert_typedef_891' [-Wunused-local-typedef]
  BOOST_ITERATOR_FACADE_RELATION(!=, return !, equal)
  ^
/usr/local/include/boost/iterator/iterator_facade.hpp:883:3: note: expanded from macro 'BOOST_ITERATOR_FACADE_RELATION'
  BOOST_ITERATOR_FACADE_INTEROP(                                    \
  ^
/usr/local/include/boost/iterator/iterator_facade.hpp:872:7: note: expanded from macro 'BOOST_ITERATOR_FACADE_INTEROP'
      BOOST_STATIC_ASSERT((                                                     \
      ^
/usr/local/include/boost/static_assert.hpp:170:16: note: expanded from macro 'BOOST_STATIC_ASSERT'
               BOOST_JOIN(boost_static_assert_typedef_, __LINE__) BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE
               ^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/usr/local/include/boost/config/suffix.hpp:545:31: note: expanded from macro 'BOOST_DO_JOIN'
#define BOOST_DO_JOIN( X, Y ) BOOST_DO_JOIN2(X,Y)
                              ^
/usr/local/include/boost/config/suffix.hpp:546:32: note: expanded from macro 'BOOST_DO_JOIN2'
#define BOOST_DO_JOIN2( X, Y ) X##Y
                               ^
<scratch space>:97:1: note: expanded from here
boost_static_assert_typedef_891
^
In file included from ../TLCVis/main.cpp:31:
In file included from ../TLCVis/global.h:33:
In file included from ../TLCVis/querymanager.h:33:
In file included from ../TLCVis/KdTrip.hpp:38:
In file included from /usr/local/include/boost/iostreams/device/mapped_file.hpp:20:
In file included from /usr/local/include/boost/iostreams/close.hpp:18:
In file included from /usr/local/include/boost/iostreams/flush.hpp:17:
In file included from /usr/local/include/boost/iostreams/detail/dispatch.hpp:17:
In file included from /usr/local/include/boost/iostreams/traits.hpp:39:
In file included from /usr/local/include/boost/range/iterator_range.hpp:13:
In file included from /usr/local/include/boost/range/iterator_range_core.hpp:27:
/usr/local/include/boost/iterator/iterator_facade.hpp:920:3: warning: unused typedef 'boost_static_assert_typedef_920' [-Wunused-local-typedef]
  BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(<, return 0 >, distance_from)
  ^
/usr/local/include/boost/iterator/iterator_facade.hpp:913:3: note: expanded from macro 'BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION'
  BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS(                                    \
  ^
/usr/local/include/boost/iterator/iterator_facade.hpp:900:7: note: expanded from macro 'BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS'
      BOOST_STATIC_ASSERT((                                                     \
      ^
/usr/local/include/boost/static_assert.hpp:170:16: note: expanded from macro 'BOOST_STATIC_ASSERT'
               BOOST_JOIN(boost_static_assert_typedef_, __LINE__) BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE
               ^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
/usr/local/include/boost/config/suffix.hpp:545:31: note: expanded from macro 'BOOST_DO_JOIN'
#define BOOST_DO_JOIN( X, Y ) BOOST_DO_JOIN2(X,Y)
                              ^
/usr/local/include/boost/config/suffix.hpp:546:32: note: expanded from macro 'BOOST_DO_JOIN2'
#define BOOST_DO_JOIN2( X, Y ) X##Y
                               ^
<scratch space>:99:1: note: expanded from here
boost_static_assert_typedef_920
^
In file included from ../TLCVis/main.cpp:31:
In file included from ../TLCVis/global.h:33:
In file included from ../TLCVis/querymanager.h:33:
In file included from ../TLCVis/KdTrip.hpp:38:
In file included from /usr/local/include/boost/iostreams/device/mapped_file.hpp:20:
In file included from /usr/local/include/boost/iostreams/close.hpp:18:
In file included from /usr/local/include/boost/iostreams/flush.hpp:17:
In file included from /usr/local/include/boost/iostreams/detail/dispatch.hpp:17:
In file included from /usr/local/include/boost/iostreams/traits.hpp:39:
In file included from /usr/local/include/boost/range/iterator_range.hpp:13:
In file included from /usr/local/include/boost/range/iterator_range_core.hpp:27:
/usr/local/include/boost/iterator/iterator_facade.hpp:921:3: warning: unused typedef 'boost_static_assert_typedef_921' [-Wunused-local-typedef]
  BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION(>, return 0 <, distance_from)
  ^
/usr/local/include/boost/iterator/iterator_facade.hpp:913:3: note: expanded from macro 'BOOST_ITERATOR_FACADE_RANDOM_ACCESS_RELATION'
  BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS(                                    \
  ^
/usr/local/include/boost/iterator/iterator_facade.hpp:900:7: note: expanded from macro 'BOOST_ITERATOR_FACADE_INTEROP_RANDOM_ACCESS'
      BOOST_STATIC_ASSERT(( 

I'm doing some search on the internet but I couldn't get a clue about what is the problem.

The .pro file looks like this:

QT += widgets core gui opengl webkit

#CONFIG += Debug

TARGET = TLCVis
TEMPLATE = app

DEFINES += RESOURCES_DIR=\\\"$$PWD/Resources/\\\"
DEFINES += DATA_DIR=\\\"$$PWD/../../data/\\\"

SOURCES += main.cpp\
        mainwindow.cpp \
    HistogramDialog.cpp \
    TemporalSeriesDialog.cpp \
    TimeExplorationDialog.cpp \
    QMapView.cpp \
    QMapWidget.cpp \
    geographicalviewwidget.cpp \
    global.cpp \
    qcustomplot.cpp \
    SelectionGraph.cpp \
    Selection.cpp \
    GroupRepository.cpp \
    Group.cpp \
    timeselectionwidget.cpp \
    timewidget.cpp \
    viewwidget.cpp \
    coordinator.cpp \
    histogramwidget.cpp \
    temporalseriesplotwidget.cpp \
    util/divergent.cpp \
    util/colorscale.cpp \
    util/yellowtobrownscale.cpp \
    util/rainbowscale.cpp \
    util/pseudorainbowscale.cpp \
    util/locsscale.cpp \
    util/lineargrayscale.cpp \
    util/heatedobjectscale.cpp \
    util/greentowhitescale.cpp \
    util/grayscale.cpp \
    util/bluetoyellowscale.cpp \
    util/bluetocyanscale.cpp \
    util/colorbar.cpp \
    neighborhoodset.cpp \
    neighborhood.cpp \
    util/scalar.cpp \
    neighborhoodgraph.cpp \
    extendedplotwidget.cpp \
    RenderingLayer.cpp \
    layers/GridMap.cpp \
    layers/HeatMap.cpp \
    layers/Triangulator.cpp \
    layers/TripAnimation.cpp \
    layers/TripLocation.cpp \
    layers/TripLocationLOD.cpp \
    scatterplotwidget.cpp \
    util/sequentialred.cpp \
    extendedhistogram.cpp \
    querymanager.cpp

HEADERS  += mainwindow.h \
    HistogramDialog.hpp \
    TemporalSeriesDialog.hpp \
    TimeExplorationDialog.hpp \
    QMapView.hpp \
    QMapWidget.hpp \
    layers/GridMap.hpp \
    layers/HeatMap.hpp \
    layers/TripAnimation.hpp \
    layers/TripLocation.hpp \
    layers/TripLocationLOD.hpp \
    geographicalviewwidget.h \
    KdTrip.hpp \
    global.h \
    qcustomplot.h \
    SelectionGraph.h \
    Selection.h \
    UsefulGeometryFunctions.h \
    GroupRepository.h \
    Group.h \
    timeselectionwidget.h \
    timewidget.h \
    viewwidget.h \
    coordinator.h \
    histogramwidget.h \
    temporalseriesplotwidget.h \
    util/divergent.h \
    util/colorscale.h \
    util/yellowtobrownscale.h \
    util/rainbowscale.h \
    util/pseudorainbowscale.h \
    util/locsscale.h \
    util/lineargrayscale.h \
    util/heatedobjectscale.h \
    util/greentowhitescale.h \
    util/grayscale.h \
    util/bluetoyellowscale.h \
    util/bluetocyanscale.h \
    util/colorbar.h \
    neighborhoodset.h \
    neighborhood.h \
    util/scalar.h \
    neighborhoodgraph.h \
    extendedplotwidget.h \
    scatterplotwidget.h \
    util/sequentialred.h \
    extendedhistogram.h \
    querymanager.h

FORMS    += mainwindow.ui \
    timeselectionwidget.ui \
    timewidget.ui \
    viewwidget.ui \
    histogramwidget.ui \
    temporalseriesplotwidget.ui \
    layers/TripAnimationConfig.ui \
    layers/TripAnimationToolBar.ui \
    scatterplotwidget.ui \
    HistogramDialog.ui \
    TemporalSeriesDialog.ui \
    TimeExplorationDialog.ui

INCLUDEPATH += /usr/local/include/

LIBS += -L/usr/local/lib -lGLEW
LIBS += -L/usr/local/lib -lboost_iostreams -lboost_system -lboost_filesystem

RESOURCES += \
    resources.qrc

I was told that the code runs ok in a Linux system.

Upvotes: 0

Views: 278

Answers (1)

Sam Cristall
Sam Cristall

Reputation: 4387

It appears you're treating warnings as errors and Boost currently has an outstanding issue where BOOST_STATIC_ASSERT causes a warning on GCC and Clang:

https://svn.boost.org/trac/boost/ticket/7242

A temporary workaround is to add -Wno-unused-local-typedefs on systems that are misbehaving.

Also see:

gnu gcc How to suppress warning: ‘typedef’ was ignored in this declaration [enabled by default]

Upvotes: 2

Related Questions