Однако во время настройки CMake (которая запускает установку vcpkg) сборка завершается с ошибкой при компиляции зависимости python3 (требуемой gRPC).
Среда
- ОС: Windows 11
- Компилятор: Visual Studio Enterprise 2022 (версия 17.14.21)
Код: Выделить всё
x64-windows-asan.cmakeКод: Выделить всё
set(VCPKG_TARGET_ARCHITECTURE x64)
set(VCPKG_CRT_LINKAGE dynamic)
set(VCPKG_LIBRARY_LINKAGE dynamic)
set(VCPKG_BUILD_TYPE release)
set(VCPKG_CXX_FLAGS "${VCPKG_CXX_FLAGS} /fsanitize=address")
set(VCPKG_C_FLAGS "${VCPKG_C_FLAGS} /fsanitize=address")
set(VCPKG_LINKER_FLAGS "${VCPKG_LINKER_FLAGS} /fsanitize=address /DEBUG /INCREMENTAL:NO")
Сборка завершается с ошибкой именно на этапе компиляции python3 с 48 ошибками компоновщика. Большинство ошибок указывают на MSVCRT.lib или VCASAN.lib. Типичная ошибка:
Код: Выделить всё
MSVCRT.lib(utility.obj) : error LNK2001: unresolved external symbol __vcrt_initialize [C:\Users\isa\Desktop\vcpkg\buildtrees\python3\x64-windows-asan-rel\PCbuild\python3dll.vcxproj]Код: Выделить всё
{
"builtin-baseline": "af752f21c9d79ba3df9cb0250ce2233933f58486",
"overrides": [
{
"name": "grpc",
"version": "1.71.0#3"
},
{
"name": "boost",
"version": "1.90.0"
}
]
}
Что я пробовал
- Проверил, что рабочая нагрузка AddressSanitizer установлена в Visual Studio
- Настроен VCPKG_BUILD_TYPE Отладка, которая не является поддерживается на основании этой проблемы
- Установил для VCPKG_LIBRARY_LINKAGE значение статического.
- Сборка отлично работает с другими конфигурациями, указанными в моем CMakePresets.json (у них нет пользовательского триплета)
Подробнее здесь: https://stackoverflow.com/questions/798 ... hon3-via-v
Мобильная версия