From d3e47b0fbfb0b69e1808573ddc3ea115b9bd9279 2017-08-17 08:24:19 From: Alexandre Leroux Date: 2017-08-17 08:24:19 Subject: [PATCH] Updates declaration of logger to avoid multiple definitions --- diff --git a/core/include/Data/DataSeries.h b/core/include/Data/DataSeries.h index 8637c28..0cba40a 100644 --- a/core/include/Data/DataSeries.h +++ b/core/include/Data/DataSeries.h @@ -1,20 +1,25 @@ #ifndef SCIQLOP_DATASERIES_H #define SCIQLOP_DATASERIES_H +#include "CoreGlobal.h" + #include #include #include #include - #include #include #include -Q_DECLARE_LOGGING_CATEGORY(LOG_DataSeries) -Q_LOGGING_CATEGORY(LOG_DataSeries, "DataSeries") - +// We don't use the Qt macro since the log is used in the header file, which causes multiple log +// definitions with inheritance. Inline method is used instead +inline const QLoggingCategory &LOG_DataSeries() +{ + static const QLoggingCategory category{"DataSeries"}; + return category; +} /** * @brief The DataSeries class is the base (abstract) implementation of IDataSeries. @@ -27,7 +32,7 @@ Q_LOGGING_CATEGORY(LOG_DataSeries, "DataSeries") * */ template -class DataSeries : public IDataSeries { +class SCIQLOP_CORE_EXPORT DataSeries : public IDataSeries { public: class IteratorValue { public: diff --git a/core/vera-exclusions/exclusions.txt b/core/vera-exclusions/exclusions.txt index cbba6aa..d8f594e 100644 --- a/core/vera-exclusions/exclusions.txt +++ b/core/vera-exclusions/exclusions.txt @@ -9,6 +9,7 @@ ArrayData\.h:\d+:.*IPSIS_S04_VARIABLE.*found: (D) ArrayData\.h:\d+:.*IPSIS_S04_NAMESPACE.*found: (arraydata_detail) ArrayData\.h:\d+:.*IPSIS_S06.*found: (D) ArrayData\.h:\d+:.*IPSIS_S06.*found: (Dim) +DataSeries\.h:\d+:.*IPSIS_S04_METHOD.*found: LOG_DataSeries DataSeries\.h:\d+:.*IPSIS_S04_VARIABLE.* # Ignore false positive relative to iterators