PDA

View Full Version : QT5 Error : macro “min” requires 2 arguments, but only 1 given



karan.kapoor
3rd March 2016, 14:26
Here is a part of compiled output :

C:/Qt/Tools/mingw492_32/i686-w64-mingw32/include/c++/limits:1708:7: error: expected ';' at end of member declaration
min() _GLIBCXX_USE_NOEXCEPT { return __LDBL_MIN__; }
^ In file included from C:/Qt/Tools/mingw492_32/i686-w64-mingw32/include/c++/cstddef:44:0,
from ..\..\..\..\Qt\5.5\mingw492_32\include/QtCore/qglobal.h:39,
from ..\..\..\..\Qt\5.5\mingw492_32\include/QtCore/qatomic.h:34,
from ..\..\..\..\Qt\5.5\mingw492_32\include/QtCore/qvariant.h:37,
from ..\..\..\..\Qt\5.5\mingw492_32\include/QtCore/QVariant:1,
from ..\qIMS_bb1/ui_admingui.h:13,
from ..\qIMS_bb1\admingui.h:3,
from ..\qIMS_bb1\admingui.cpp:1: C:/Qt/Tools/mingw492_32/i686-w64-mingw32/include/c++/limits:1708:13:
error: expected unqualified-id before 'throw'
min() _GLIBCXX_USE_NOEXCEPT { return __LDBL_MIN__; }
^ In file included from ..\..\..\..\Qt\5.5\mingw492_32\include\QtCore/qdatetime.h:41:0,
from ..\..\..\..\Qt\5.5\mingw492_32\include\QtCore/QTime:1,
from ..\qIMS_bb1\DeviceControl.h:14,
from ..\qIMS_bb1\mainapp.h:12,
from ..\qIMS_bb1\admingui.h:4,
from ..\qIMS_bb1\admingui.cpp:1: C:/Qt/Tools/mingw492_32/i686-w64-mingw32/include/c++/limits:1711:7:
error: expected ';' at end of member declaration
max() _GLIBCXX_USE_NOEXCEPT { return __LDBL_MAX__; }
^ In file included from C:/Qt/Tools/mingw492_32/i686-w64-mingw32/include/c++/cstddef:44:0,
from ..\..\..\..\Qt\5.5\mingw492_32\include/QtCore/qglobal.h:39,
from ..\..\..\..\Qt\5.5\mingw492_32\include/QtCore/qatomic.h:34,
from ..\..\..\..\Qt\5.5\mingw492_32\include/QtCore/qvariant.h:37,
from ..\..\..\..\Qt\5.5\mingw492_32\include/QtCore/QVariant:1,
from ..\qIMS_bb1/ui_admingui.h:13,
from ..\qIMS_bb1\admingui.h:3,
from ..\qIMS_bb1\admingui.cpp:1: C:/Qt/Tools/mingw492_32/i686-w64-mingw32/include/c++/limits:1711:13:
error: expected unqualified-id before 'throw'
max() _GLIBCXX_USE_NOEXCEPT { return __LDBL_MAX__; }
^ In file included from ..\..\..\..\Qt\5.5\mingw492_32\include\QtCore/QTime:1:0,
from ..\qIMS_bb1\DeviceControl.h:14,
from ..\qIMS_bb1\mainapp.h:12,
from ..\qIMS_bb1\admingui.h:4,
from ..\qIMS_bb1\admingui.cpp:1: ..\..\..\..\Qt\5.5\mingw492_32\include\QtCore/qdatetime.h: In static member function 'static qint64 QDate::nullJd()': ..\..\..\..\Qt\5.5\mingw492_32\include\QtCore/qdatetime.h:124:96:
error: 'std::numeric_limits<long long int>::min' cannot be used as a function
static Q_DECL_CONSTEXPR inline qint64 nullJd() { return (std::numeric_limits<qint64>::min)(); }
^
Makefile.Debug:4813: recipe for target 'debug/admingui.o' failed
mingw32-make[1]: *** [debug/admingui.o] Error 1 mingw32-make[1]:
Leaving directory 'C:/Users/KapoorK/Desktop/build-qIMS_bb-Desktop_Qt_5_5_1_MinGW_32bit-Debug'
makefile:34: recipe for target 'debug' failed mingw32-make: ***
[debug] Error 2 16:08:21: The process "C:\Qt\Tools\mingw492_32\bin\mingw32-make.exe" exited with code 2.
Error while building/deploying project qIMS_bb (kit: Desktop Qt 5.5.1 MinGW 32bit) When executing step "Make" 16:08:21: Elapsed time: 00:19.


Would appreciate any help.

d_stranz
3rd March 2016, 16:19
Seems sort of obvious if you read the error messages. One of your project's header files (probably DeviceControl.h) is pulling in an incorrect header file. Looks like it is pulling in <limits> when it should be pulling in a header where min() and max() are defined as macros.