Похоже, проблема в android NDK заголовках.В частности:
Android / Sdk / ndk-bundle / sources / third_party / shaderc / include / shaderc / shaderc.hpp
Они объявляют shaderc :: CompileOptions :: IncluderInterface как виртуальный класс,но у меня нет виртуального деструктора:
class IncluderInterface {
public:
// Handles shaderc_include_resolver_fn callbacks.
virtual shaderc_include_result* GetInclude(const char* requested_source,
shaderc_include_type type,
const char* requesting_source,
size_t include_depth) = 0;
// Handles shaderc_include_result_release_fn callbacks.
virtual void ReleaseInclude(shaderc_include_result* data) = 0;
};
Обычно я бы не рекомендовал это, но, похоже, у вас нет другого выбора.Вы можете удалить -Wdelete-non-virtual-dtor или -Werror из make-файлов, чтобы не допустить этой ошибки?Вероятно, не является решением в долгосрочной перспективе ... Лучшее решение было бы выяснить, кто делает сторонний заголовок: shaderc.hpp и попросить их исправить это ...
Другими вариантами было быиспользуйте OpenGL в Java SDK или напишите Vulkan-часть из записки и не используйте пример кода.Недавно я написал приложение для Android, которое использует Vulkan, и не сталкивался с этой ошибкой.