cnjinhao / nana

a modern C++ GUI library
https://nana.acemind.cn
Boost Software License 1.0
2.32k stars 333 forks source link

Compilation errors with GCC 14.1 #700

Closed oltolm closed 4 months ago

oltolm commented 4 months ago

Hello I get these errors with GCC 14.1

[33/86] Building CXX object _deps/nana-build/CMak...na.dir/source/gui/detail/virtual_keyboard.cpp.obj
FAILED: _deps/nana-build/CMakeFiles/nana.dir/source/gui/detail/virtual_keyboard.cpp.obj
ccache C:\msys64\mingw64\bin\c++.exe -DNANA_ENABLE_VIRTUAL_KEYBOARD -DWIN32 -IC:/src/CPM/nana/4b39f7d62017a007b43e6a296b10b91fafcb2131/include -g -Wall -fmax-errors=3 -MD -MT _deps/nana-build/CMakeFiles/nana.dir/source/gui/detail/virtual_keyboard.cpp.obj -MF _deps\nana-build\CMakeFiles\nana.dir\source\gui\detail\virtual_keyboard.cpp.obj.d -o _deps/nana-build/CMakeFiles/nana.dir/source/gui/detail/virtual_keyboard.cpp.obj -c C:/src/CPM/nana/4b39f7d62017a007b43e6a296b10b91fafcb2131/source/gui/detail/virtual_keyboard.cpp
C:/src/CPM/nana/4b39f7d62017a007b43e6a296b10b91fafcb2131/source/gui/detail/virtual_keyboard.cpp: In lambda function:
C:/src/CPM/nana/4b39f7d62017a007b43e6a296b10b91fafcb2131/source/gui/detail/virtual_keyboard.cpp:331:69: error: 'clamp' is not a member of 'std'
  331 |                                                         left = std::clamp(left, key_candidate_switch_.x - static_cast<int>(candidate_.content_px), 0);
      |                                                                     ^~~~~
C:/src/CPM/nana/4b39f7d62017a007b43e6a296b10b91fafcb2131/source/gui/detail/virtual_keyboard.cpp:344:68: error: 'clamp' is not a member of 'std'
  344 |                                                         top = std::clamp(top, static_cast<int>(this->size().height) - static_cast<int>(candidate_.content_px), 0);
      |                                                                    ^~~~~

I also get the same error when compiling pixel_buffer.cpp.

qPCR4vir commented 4 months ago

Is this fixed by #include <algorithm> at the top of virtual_keyboard.cpp ?

oltolm commented 4 months ago

Yes. You also need it in pixel_buffer.cpp.

qPCR4vir commented 4 months ago

Thanks! I could not see what that 4b39f7d6... is. So, what branch/version/commit are you using?

oltolm commented 4 months ago

I use develop-1.8.

qPCR4vir commented 4 months ago

Thank! You can reload now.

oltolm commented 4 months ago

It builds now. Thanks.