Closed TheJackiMonster closed 2 years ago
The full output from the compiler errors:
In file included from /home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc.hpp:16,
from /home/thejackimonster/vkcv-framework/config/lib/vma/vma.cpp:58:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In function \u2018vk::ResultValueType<vma::Allocator>::type vma::createAllocator(const vma::AllocatorCreateInfo&)\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:10:5: error: \u2018resultCheck\u2019 was not declared in this scope
10 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::createAllocator");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:11:12: error: \u2018createResultValueType\u2019 was not declared in this scope
11 | return createResultValueType(result, allocator);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In function \u2018vk::ResultValueType<vma::VirtualBlock>::type vma::createVirtualBlock(const vma::VirtualBlockCreateInfo&)\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:24:5: error: \u2018resultCheck\u2019 was not declared in this scope
24 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::createVirtualBlock");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:25:12: error: \u2018createResultValueType\u2019 was not declared in this scope
25 | return createResultValueType(result, virtualBlock);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<unsigned int>::type vma::Allocator::findMemoryTypeIndex(uint32_t, const vma::AllocationCreateInfo&) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:136:5: error: \u2018resultCheck\u2019 was not declared in this scope
136 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::findMemoryTypeIndex");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:137:12: error: \u2018createResultValueType\u2019 was not declared in this scope
137 | return createResultValueType(result, memoryTypeIndex);
| ^~~~~~~~~~~~~~~~~~~~~
In file included from /home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc.hpp:16,
from /home/thejackimonster/vkcv-framework/config/lib/vma/vma.cpp:58:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<unsigned int>::type vma::Allocator::findMemoryTypeIndexForBufferInfo(const vk::BufferCreateInfo&, const vma::AllocationCreateInfo&) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:152:5: error: \u2018resultCheck\u2019 was not declared in this scope
152 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::findMemoryTypeIndexForBufferInfo");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:153:12: error: \u2018createResultValueType\u2019 was not declared in this scope
153 | return createResultValueType(result, memoryTypeIndex);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<unsigned int>::type vma::Allocator::findMemoryTypeIndexForImageInfo(const vk::ImageCreateInfo&, const vma::AllocationCreateInfo&) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:168:5: error: \u2018resultCheck\u2019 was not declared in this scope
168 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::findMemoryTypeIndexForImageInfo");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:169:12: error: \u2018createResultValueType\u2019 was not declared in this scope
169 | return createResultValueType(result, memoryTypeIndex);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<vma::Pool>::type vma::Allocator::createPool(const vma::PoolCreateInfo&) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:183:5: error: \u2018resultCheck\u2019 was not declared in this scope
183 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::createPool");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:184:12: error: \u2018createResultValueType\u2019 was not declared in this scope
184 | return createResultValueType(result, pool);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<void>::type vma::Allocator::checkPoolCorruption(vma::Pool) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:230:5: error: \u2018resultCheck\u2019 was not declared in this scope
230 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::checkPoolCorruption");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:231:12: error: \u2018createResultValueType\u2019 was not declared in this scope
231 | return createResultValueType(result);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<vma::Allocation>::type vma::Allocator::allocateMemory(const vk::MemoryRequirements&, const vma::AllocationCreateInfo&, vk::Optional<vma::AllocationInfo>) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:270:5: error: \u2018resultCheck\u2019 was not declared in this scope
270 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::allocateMemory");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:271:12: error: \u2018createResultValueType\u2019 was not declared in this scope
271 | return createResultValueType(result, allocation);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018typename vk::ResultValueType<std::vector<vma::Allocation, VectorAllocator> >::type vma::Allocator::allocateMemoryPages(vk::ArrayProxy<const vk::MemoryRequirements>, vk::ArrayProxy<const vma::AllocationCreateInfo>, vk::ArrayProxyNoTemporaries<vma::AllocationInfo>, VectorAllocator&) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:293:5: error: there are no arguments to \u2018resultCheck\u2019 that depend on a template parameter, so a declaration of \u2018resultCheck\u2019 must be available [-fpermissive]
293 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::allocateMemoryPages");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:293:5: note: (if you use \u2018-fpermissive\u2019, G++ will accept your code, but allowing the use of an undeclared name is deprecated)
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018typename vk::ResultValueType<std::vector<vma::Allocation, VectorAllocator> >::type vma::Allocator::allocateMemoryPages(vk::ArrayProxy<const vk::MemoryRequirements>, vk::ArrayProxy<const vma::AllocationCreateInfo>, vk::ArrayProxyNoTemporaries<vma::AllocationInfo>) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:304:5: error: there are no arguments to \u2018resultCheck\u2019 that depend on a template parameter, so a declaration of \u2018resultCheck\u2019 must be available [-fpermissive]
304 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::allocateMemoryPages");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<vma::Allocation>::type vma::Allocator::allocateMemoryForBuffer(vk::Buffer, const vma::AllocationCreateInfo&, vk::Optional<vma::AllocationInfo>) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:323:5: error: \u2018resultCheck\u2019 was not declared in this scope
323 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::allocateMemoryForBuffer");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:324:12: error: \u2018createResultValueType\u2019 was not declared in this scope
324 | return createResultValueType(result, allocation);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<vma::Allocation>::type vma::Allocator::allocateMemoryForImage(vk::Image, const vma::AllocationCreateInfo&, vk::Optional<vma::AllocationInfo>) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:341:5: error: \u2018resultCheck\u2019 was not declared in this scope
341 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::allocateMemoryForImage");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:342:12: error: \u2018createResultValueType\u2019 was not declared in this scope
342 | return createResultValueType(result, allocation);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018void* vma::Allocator::mapMemory(vma::Allocation) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:426:5: error: \u2018resultCheck\u2019 was not declared in this scope
426 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::mapMemory");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:427:12: error: \u2018createResultValueType\u2019 was not declared in this scope
427 | return createResultValueType(result, data);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<void>::type vma::Allocator::flushAllocation(vma::Allocation, vk::DeviceSize, vk::DeviceSize) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:451:5: error: \u2018resultCheck\u2019 was not declared in this scope
451 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::flushAllocation");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:452:12: error: \u2018createResultValueType\u2019 was not declared in this scope
452 | return createResultValueType(result);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<void>::type vma::Allocator::invalidateAllocation(vma::Allocation, vk::DeviceSize, vk::DeviceSize) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:468:5: error: \u2018resultCheck\u2019 was not declared in this scope
468 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::invalidateAllocation");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:469:12: error: \u2018createResultValueType\u2019 was not declared in this scope
469 | return createResultValueType(result);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<void>::type vma::Allocator::flushAllocations(vk::ArrayProxy<const vma::Allocation>, vk::ArrayProxy<const long unsigned int>, vk::ArrayProxy<const long unsigned int>) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:486:5: error: \u2018resultCheck\u2019 was not declared in this scope
486 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::flushAllocations");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:487:12: error: \u2018createResultValueType\u2019 was not declared in this scope
487 | return createResultValueType(result);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<void>::type vma::Allocator::invalidateAllocations(vk::ArrayProxy<const vma::Allocation>, vk::ArrayProxy<const long unsigned int>, vk::ArrayProxy<const long unsigned int>) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:504:5: error: \u2018resultCheck\u2019 was not declared in this scope
504 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::invalidateAllocations");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:505:12: error: \u2018createResultValueType\u2019 was not declared in this scope
505 | return createResultValueType(result);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<void>::type vma::Allocator::checkCorruption(uint32_t) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:519:5: error: \u2018resultCheck\u2019 was not declared in this scope
519 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::checkCorruption");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:520:12: error: \u2018createResultValueType\u2019 was not declared in this scope
520 | return createResultValueType(result);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<vma::DefragmentationContext>::type vma::Allocator::beginDefragmentation(const vma::DefragmentationInfo&) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:533:5: error: \u2018resultCheck\u2019 was not declared in this scope
533 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::beginDefragmentation");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:534:12: error: \u2018createResultValueType\u2019 was not declared in this scope
534 | return createResultValueType(result, context);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<vma::DefragmentationPassMoveInfo>::type vma::Allocator::beginDefragmentationPass(vma::DefragmentationContext) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:558:5: error: \u2018resultCheck\u2019 was not declared in this scope
558 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::beginDefragmentationPass");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:559:12: error: \u2018createResultValueType\u2019 was not declared in this scope
559 | return createResultValueType(result, passInfo);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<vma::DefragmentationPassMoveInfo>::type vma::Allocator::endDefragmentationPass(vma::DefragmentationContext) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:572:5: error: \u2018resultCheck\u2019 was not declared in this scope
572 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::endDefragmentationPass");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:573:12: error: \u2018createResultValueType\u2019 was not declared in this scope
573 | return createResultValueType(result, passInfo);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<void>::type vma::Allocator::bindBufferMemory(vma::Allocation, vk::Buffer) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:586:5: error: \u2018resultCheck\u2019 was not declared in this scope
586 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::bindBufferMemory");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:587:12: error: \u2018createResultValueType\u2019 was not declared in this scope
587 | return createResultValueType(result);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<void>::type vma::Allocator::bindBufferMemory2(vma::Allocation, vk::DeviceSize, vk::Buffer, const void*) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:603:5: error: \u2018resultCheck\u2019 was not declared in this scope
603 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::bindBufferMemory2");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:604:12: error: \u2018createResultValueType\u2019 was not declared in this scope
604 | return createResultValueType(result);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<void>::type vma::Allocator::bindImageMemory(vma::Allocation, vk::Image) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:620:5: error: \u2018resultCheck\u2019 was not declared in this scope
620 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::bindImageMemory");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:621:12: error: \u2018createResultValueType\u2019 was not declared in this scope
621 | return createResultValueType(result);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<void>::type vma::Allocator::bindImageMemory2(vma::Allocation, vk::DeviceSize, vk::Image, const void*) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:637:5: error: \u2018resultCheck\u2019 was not declared in this scope
637 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::bindImageMemory2");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:638:12: error: \u2018createResultValueType\u2019 was not declared in this scope
638 | return createResultValueType(result);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<std::pair<vk::Buffer, vma::Allocation> >::type vma::Allocator::createBuffer(const vk::BufferCreateInfo&, const vma::AllocationCreateInfo&, vk::Optional<vma::AllocationInfo>) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:658:5: error: \u2018resultCheck\u2019 was not declared in this scope
658 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::createBuffer");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:659:12: error: \u2018createResultValueType\u2019 was not declared in this scope
659 | return createResultValueType(result, pair);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<std::pair<vk::Buffer, vma::Allocation> >::type vma::Allocator::createBufferWithAlignment(const vk::BufferCreateInfo&, const vma::AllocationCreateInfo&, vk::DeviceSize, vk::Optional<vma::AllocationInfo>) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:680:5: error: \u2018resultCheck\u2019 was not declared in this scope
680 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::createBufferWithAlignment");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:681:12: error: \u2018createResultValueType\u2019 was not declared in this scope
681 | return createResultValueType(result, pair);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<vk::Buffer>::type vma::Allocator::createAliasingBuffer(vma::Allocation, const vk::BufferCreateInfo&) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:699:5: error: \u2018resultCheck\u2019 was not declared in this scope
699 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::createAliasingBuffer");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:700:12: error: \u2018createResultValueType\u2019 was not declared in this scope
700 | return createResultValueType(result, buffer);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<std::pair<vk::Image, vma::Allocation> >::type vma::Allocator::createImage(const vk::ImageCreateInfo&, const vma::AllocationCreateInfo&, vk::Optional<vma::AllocationInfo>) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:730:5: error: \u2018resultCheck\u2019 was not declared in this scope
730 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::createImage");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:731:12: error: \u2018createResultValueType\u2019 was not declared in this scope
731 | return createResultValueType(result, pair);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<vk::Image>::type vma::Allocator::createAliasingImage(vma::Allocation, const vk::ImageCreateInfo&) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:748:5: error: \u2018resultCheck\u2019 was not declared in this scope
748 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::Allocator::createAliasingImage");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:749:12: error: \u2018createResultValueType\u2019 was not declared in this scope
749 | return createResultValueType(result, image);
| ^~~~~~~~~~~~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp: In member function \u2018vk::ResultValueType<vma::VirtualAllocation>::type vma::VirtualBlock::virtualAllocate(const vma::VirtualAllocationCreateInfo&, vk::Optional<long unsigned int>) const\u2019:
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:834:5: error: \u2018resultCheck\u2019 was not declared in this scope
834 | resultCheck(result, VMA_HPP_NAMESPACE_STRING "::VirtualBlock::virtualAllocate");
| ^~~~~~~~~~~
/home/thejackimonster/vkcv-framework/lib/VulkanMemoryAllocator-Hpp/include/vk_mem_alloc_funcs.hpp:835:12: error: \u2018createResultValueType\u2019 was not declared in this scope
835 | return createResultValueType(result, allocation);
| ^~~~~~~~~~~~~~~~~~~~~
make[3]: *** [config/lib/vma/CMakeFiles/VulkanMemoryAllocator.dir/build.make:76: config/lib/vma/CMakeFiles/VulkanMemoryAllocator.dir/vma.cpp.o] Fehler 1
make[2]: *** [CMakeFiles/Makefile2:867: config/lib/vma/CMakeFiles/VulkanMemoryAllocator.dir/all] Fehler 2
make[1]: *** [CMakeFiles/Makefile2:1717: projects/voxelization/CMakeFiles/voxelization.dir/rule] Fehler 2
make: *** [Makefile:546: voxelization] Fehler 2
I bet this is an issue with ADL, can you please try adding vk:: namespace prefix and see if it fixes the problem in your setup? I think simple text replace will do, like "createResultValueType" -> "vk::createResultValueType"
@YaaZ Sounds good. I will try that soon and report afterwards.
Unfortunately the issue does not get solved by adding the namespace. It still compiles fine on my Archlinux system but in Ubuntu 22.04 LTS it states the functions would not be a member of that namespace. I will try if it helps to explicitly state the type of the template functions.
Nevermind, I think I know the issue. I use the system Vulkan headers which are too old. I think I know how to fix this. ^^'
I could fix the issue. I used system wide Vulkan headers and hpp to compile the framework but they didn't contain those functions because the distros didn't ship the most recent headers. I replaced it with the usage of the newest headers and hpp via submodule. Now it works.
I am currently using those C++ headers inside of a Vulkan framework and it does not compile on some of my systems (for example Ubuntu 22.04 LTS and SteamOS). Both provide older versions of the GCC in their repository which causes some issues like this:
Those issues will come up with all calls of
resultCheck
using a result type parameter first and a string second. Similarly the other problem withcreateResultValueType
will come up for all calls using a result type parameter first with one other argument or even with none other argument.Also those issues do not occur using GCC 12.1.0 on Archlinux for example. However SteamOS will only provide 11.1.0 in its repositories and Ubuntu 22.04 LTS will provide 11.2.0.
I'm using CMake for the framework to include VMA and these headers. So maybe if there was a makro to branch an alternative way for those function calls, I could enable it when using GCC versions below 12.0.0. However I'm not really sure what's the cause of those issues. Otherwise I would open a PR. ^^'