When I include QCustomeplot and nurses.h into my project, they seems incompitible, my environment is

Ubuntu20.04+Qt5.12.8+CMake 3.28

the compiler error are below

[main] Building folder: Lidar 
[build] Starting build
[proc] Executing command: /usr/local/bin/cmake --build /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/build --config Debug --target all -j 18 --
[build] [  6%] Automatic MOC for target lidar_Perception
[build] [  6%] Built target lidar_Perception_autogen
[build] [ 13%] Building CXX object CMakeFiles/lidar_Perception.dir/lidar_Perception_autogen/mocs_compilation.cpp.o
[build] [ 20%] Building CXX object CMakeFiles/lidar_Perception.dir/main.cpp.o
[build] [ 26%] Building CXX object CMakeFiles/lidar_Perception.dir/mainwindow_lidar.cpp.o
[build] In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextcursor.h:46,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qlineedit.h:45,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QLineEdit:1,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/ui_fusionView.h:19,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/fusionView.h:15,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.h:29,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.cpp:1:
[build] /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextformat.h:816:25: error: macro "border" requires 8 arguments, but only 1 given
[build]   816 |     inline qreal border() const
[build]       |                         ^
[build] In file included from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.h:27,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.cpp:1:
[build] /usr/include/curses.h:1229: note: macro "border" defined here
[build]  1229 | #define border(ls, rs, ts, bs, tl, tr, bl, br) wborder(stdscr, ls, rs, ts, bs, tl, tr, bl, br)
[build]       | 
[build] In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextcursor.h:46,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qlineedit.h:45,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QLineEdit:1,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/ui_fusionView.h:19,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/fusionView.h:15,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.h:29,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/main.cpp:3:
[build] /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextformat.h:816:25: error: macro "border" requires 8 arguments, but only 1 given
[build]   816 |     inline qreal border() const
[build]       |                         ^
[build] In file included from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.h:27,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/main.cpp:3:
[build] /usr/include/curses.h:1229: note: macro "border" defined here
[build]  1229 | #define border(ls, rs, ts, bs, tl, tr, bl, br) wborder(stdscr, ls, rs, ts, bs, tl, tr, bl, br)
[build]       | 
[build] In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/QtGui:10,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QtPrintSupportDepends:4,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QtPrintSupport:3,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/qcustomplot.h:92,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/ui_fusionView.h:23,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/fusionView.h:15,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.h:29,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.cpp:1:
[build] /usr/include/x86_64-linux-gnu/qt5/QtGui/qbackingstore.h:74:52: error: macro "scroll" passed 3 arguments, but takes just 1
[build]    74 |     bool scroll(const QRegion &area, int dx, int dy);
[build]       |                                                    ^
[build] In file included from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.h:27,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.cpp:1:
[build] /usr/include/curses.h:1222: note: macro "scroll" defined here
[build]  1222 | #define scroll(win)  wscrl(win,1)
[build]       | 
[build] In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/QtGui:10,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QtPrintSupportDepends:4,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QtPrintSupport:3,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/qcustomplot.h:92,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/ui_fusionView.h:23,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/fusionView.h:15,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.h:29,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/main.cpp:3:
[build] /usr/include/x86_64-linux-gnu/qt5/QtGui/qbackingstore.h:74:52: error: macro "scroll" passed 3 arguments, but takes just 1
[build]    74 |     bool scroll(const QRegion &area, int dx, int dy);
[build]       |                                                    ^
[build] In file included from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.h:27,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/main.cpp:3:
[build] /usr/include/curses.h:1222: note: macro "scroll" defined here
[build]  1222 | #define scroll(win)  wscrl(win,1)
[build]       | 
[build] In file included from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qgraphicsanchorlayout.h:44,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QtWidgets:99,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QtPrintSupportDepends:5,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QtPrintSupport:3,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/qcustomplot.h:92,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/ui_fusionView.h:23,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/fusionView.h:15,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.h:29,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.cpp:1:
[build] /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qgraphicsitem.h:347:66: error: macro "scroll" passed 3 arguments, but takes just 1
[build]   347 |     void scroll(qreal dx, qreal dy, const QRectF &rect = QRectF());
[build]       |                                                                  ^
[build] In file included from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.h:27,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.cpp:1:
[build] /usr/include/curses.h:1222: note: macro "scroll" defined here
[build]  1222 | #define scroll(win)  wscrl(win,1)
[build]       | 
[build] In file included from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qgraphicsanchorlayout.h:44,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QtWidgets:99,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QtPrintSupportDepends:5,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QtPrintSupport:3,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/qcustomplot.h:92,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/ui_fusionView.h:23,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/fusionView.h:15,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.h:29,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/main.cpp:3:
[build] /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qgraphicsitem.h:347:66: error: macro "scroll" passed 3 arguments, but takes just 1
[build]   347 |     void scroll(qreal dx, qreal dy, const QRectF &rect = QRectF());
[build]       |                                                                  ^
[build] In file included from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.h:27,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/main.cpp:3:
[build] /usr/include/curses.h:1222: note: macro "scroll" defined here
[build]  1222 | #define scroll(win)  wscrl(win,1)
[build]       | 
[build] In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextcursor.h:46,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qlineedit.h:45,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QLineEdit:1,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/ui_fusionView.h:19,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/fusionView.h:15,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.h:29,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.cpp:1:
[build] /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextformat.h:816:5: error: ‘border’ declared as an ‘inline’ field
[build]   816 |     inline qreal border() const
[build]       |     ^~~~~~
[build] /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextformat.h:816:18: error: expected ‘;’ at end of member declaration
[build]   816 |     inline qreal border() const
[build]       |                  ^~~~~~
[build]       |                        ;
[build] /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextformat.h:817:5: error: expected unqualified-id before ‘{’ token
[build]   817 |     { return doubleProperty(FrameBorder); }
[build]       |     ^
[build] In file included from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.h:27,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.cpp:1:
[build] /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qgesture.h:267:16: error: ‘stdscr’ is not a type
[build]   267 |     static int timeout();
[build]       |                ^~~~~~~
[build] /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qgesture.h:267:16: error: expected identifier before ‘(’ token
[build]   267 |     static int timeout();
[build]       |                ^~~~~~~
[build] In file included from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qgraphicsanchorlayout.h:44,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QtWidgets:99,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QtPrintSupportDepends:5,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QtPrintSupport:3,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/qcustomplot.h:92,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/ui_fusionView.h:23,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/fusionView.h:15,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.h:29,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.cpp:1:
[build] /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qgraphicsitem.h:347:10: error: variable or field ‘scroll’ declared void
[build]   347 |     void scroll(qreal dx, qreal dy, const QRectF &rect = QRectF());
[build]       |          ^~~~~~
[build] In file included from /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextcursor.h:46,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qlineedit.h:45,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QLineEdit:1,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/ui_fusionView.h:19,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/fusionView.h:15,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.h:29,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/main.cpp:3:
[build] /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextformat.h:816:5: error: ‘border’ declared as an ‘inline’ field
[build]   816 |     inline qreal border() const
[build]       |     ^~~~~~
[build] /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextformat.h:816:18: error: expected ‘;’ at end of member declaration
[build]   816 |     inline qreal border() const
[build]       |                  ^~~~~~
[build]       |                        ;
[build] /usr/include/x86_64-linux-gnu/qt5/QtGui/qtextformat.h:817:5: error: expected unqualified-id before ‘{’ token
[build]   817 |     { return doubleProperty(FrameBorder); }
[build]       |     ^
[build] In file included from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.h:27,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/main.cpp:3:
[build] /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qgesture.h:267:16: error: ‘stdscr’ is not a type
[build]   267 |     static int timeout();
[build]       |                ^~~~~~~
[build] /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qgesture.h:267:16: error: expected identifier before ‘(’ token
[build]   267 |     static int timeout();
[build]       |                ^~~~~~~
[build] In file included from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qgraphicsanchorlayout.h:44,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtWidgets/QtWidgets:99,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QtPrintSupportDepends:5,
[build]                  from /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport/QtPrintSupport:3,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/qcustomplot.h:92,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/ui_fusionView.h:23,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/fusionView.h:15,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/mainwindow_lidar.h:29,
[build]                  from /home/hitbuyi/AD_Projects/Vis_Projects/Lidar/main.cpp:3:
[build] /usr/include/x86_64-linux-gnu/qt5/QtWidgets/qgraphicsitem.h:347:10: error: variable or field ‘scroll’ declared void
[build]   347 |     void scroll(qreal dx, qreal dy, const QRectF &rect = QRectF());
[build]       |          ^~~~~~
[build] make[2]: *** [CMakeFiles/lidar_Perception.dir/build.make:104: CMakeFiles/lidar_Perception.dir/mainwindow_lidar.cpp.o] Error 1
[build] make[2]: *** Waiting for unfinished jobs....
[build] make[2]: *** [CMakeFiles/lidar_Perception.dir/build.make:90: CMakeFiles/lidar_Perception.dir/main.cpp.o] Error 1

It seems both them have some macros or function names, how to solve this problem?