Сообщение от
0xff65
Приветствую, пытаюсь собрать plugin-sdk. Возникает такая проблема -
Код:
Код:
1>CCoronas.cpp
1>D:\plugin-sdk-master\safetyhook\safetyhook.hpp(38,10): fatal error C1083: Не удается открыть файл включение: expected: No such file or directory,
1>CCover.cpp
1>D:\plugin-sdk-master\safetyhook\safetyhook.hpp(38,10): fatal error C1083: Не удается открыть файл включение: expected: No such file or directory,
1>CCoverPoint.cpp
1>D:\plugin-sdk-master\safetyhook\safetyhook.hpp(38,10): fatal error C1083: Не удается открыть файл включение: expected: No such file or directory,
1>CCredits.cpp
1>D:\plugin-sdk-master\safetyhook\safetyhook.hpp(38,10): fatal error C1083: Не удается открыть файл включение: expected:
Сборка выполняется на Visual Studio 19
это часть редакции стандарта C++23 (
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0323r12.html).
В MSVC(CL) он доступен начиная с Visual Studio 2022 17.3 (_MSC_VER >= 1933) (
https://github.com/microsoft/STL/com...0304223308ac8b).
Сам проект должен быть настроен с использованием
или
(
https://learn.microsoft.com/en-us/cpp/build/reference/std-specify-language-standard-version). А для проверке на этапе сборки можно воспользоваться макросом
(
https://en.cppreference.com/w/cpp/feature_test#cpp_lib_expected).
Если такая функциональность нужна в том окружении, где последние реализации недоступны, то можно воспользоваться похожими абстракциями из популярных библиотек типа
StatusOr из abseil или
checked из Boost.Outcome. И кстати не стоит забывать за возможность поставить относительно портабельный и легковесный mingw (
https://www.mingw-w64.org/,
https://github.com/mstorsjo/llvm-mingw/releases), хотя думаю там также могут быть понадобиться модификации кода.
В Вашем случае полагаю проще будет или поставить любой бекпорт:
GitHub - TartanLlama/expected: C++11/14/17 std::expected with functional-style extensions
C++11/14/17 std::expected with functional-style extensions - TartanLlama/expected
github.com
Либо просто взять старую версию plugin-sdk:
История изменений =>
https://github.com/DK22Pac/plugin-sd...safetyhook.cpp
Предыдущий коммит до добавления safetyhook =>
https://github.com/DK22Pac/plugin-sd...b151308dd85b53
И конечно можно еще сделать
git revert (
https://git-scm.com/docs/git-revert) в master ветке, отменив кокретно добавление этой библиотеки, но это требует небольшого знания системы контроля версий, а также потребует некоторых изменений в коде, тем более что Вы не указали контекст использования (например, safetyhook - осознанный выбор в связи с поддержкой 64 битной трилогии которая unreal engine)