LunarG / VulkanTools

Tools to aid in Vulkan development
Other
662 stars 174 forks source link

build error on Fedora 40 #2053

Closed zmike closed 2 months ago

zmike commented 2 months ago

With ToT:

FAILED: layersvt/test/CMakeFiles/test_monitor_layer.dir/layer_test_helper.cpp.o 
/usr/lib64/ccache/c++ -DTEST_BINARY_PATH=\"/home/zmike/src/VulkanTools/build/layersvt\" -DVK_USE_PLATFORM_WAYLAND_KHR -DVK_USE_PLATFORM_XCB_KHR -isystem /home/zmike/src/VulkanTools/external/Debug/64/Vulkan-Headers/build/install/include -isystem /home/zmike/src/VulkanTools/external/Debug/64/googletest/build/install/include -isystem /home/zmike/src/VulkanTools/external/Debug/64/Vulkan-Utility-Libraries/build/install/include -g -std=c++17 -fPIE -fvisibility=hidden -fvisibility-inlines-hidden -Werror -Wpointer-arith -MD -MT layersvt/test/CMakeFiles/test_monitor_layer.dir/layer_test_helper.cpp.o -MF layersvt/test/CMakeFiles/test_monitor_layer.dir/layer_test_helper.cpp.o.d -o layersvt/test/CMakeFiles/test_monitor_layer.dir/layer_test_helper.cpp.o -c /home/zmike/src/VulkanTools/layersvt/test/layer_test_helper.cpp
/home/zmike/src/VulkanTools/layersvt/test/layer_test_helper.cpp: In member function ‘VkResult layer_test::VulkanInstanceBuilder::Init(const std::vector<VkLayerSettingEXT>&)’:
/home/zmike/src/VulkanTools/layersvt/test/layer_test_helper.cpp:93:22: error: no matching function for call to ‘find(std::vector<const char*>::iterator, std::vector<const char*>::iterator, const char* const&)’
   93 |         if (std::find(_layer_names.begin(), _layer_names.end(), settings[i].pLayerName) == _layer_names.end()) {
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/14/bits/locale_facets.h:48,
                 from /usr/include/c++/14/locale:42,
                 from /usr/include/c++/14/iomanip:48,
                 from /home/zmike/src/VulkanTools/external/Debug/64/googletest/build/install/include/gtest/gtest.h:54,
                 from /home/zmike/src/VulkanTools/layersvt/test/layer_test_framework.h:21,
                 from /home/zmike/src/VulkanTools/layersvt/test/layer_test_helper.h:17,
                 from /home/zmike/src/VulkanTools/layersvt/test/layer_test_helper.cpp:15:
/usr/include/c++/14/bits/streambuf_iterator.h:435:5: note: candidate: ‘template<class _CharT2> typename __gnu_cxx::__enable_if<std::__is_char<_CharT2>::__value, std::istreambuf_iterator<_CharT> >::__type std::find(istreambuf_iterator<_CharT>, istreambuf_iterator<_CharT>, const _CharT2&)’
  435 |     find(istreambuf_iterator<_CharT> __first,
      |     ^~~~
/usr/include/c++/14/bits/streambuf_iterator.h:435:5: note:   template argument deduction/substitution failed:
/home/zmike/src/VulkanTools/layersvt/test/layer_test_helper.cpp:93:22: note:   ‘__gnu_cxx::__normal_iterator<const char**, std::vector<const char*> >’ is not derived from ‘std::istreambuf_iterator<_CharT>’
   93 |         if (std::find(_layer_names.begin(), _layer_names.end(), settings[i].pLayerName) == _layer_names.end()) {
      |             ~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[3/190] Building CXX object layersvt/test/CMakeFiles/test_api_dump_layer.dir/layer_test_helper.cpp.o
charles-lunarg commented 2 months ago

Seems like a simple missing include of <algorithm>. Thanks for bringing it to our attention!