У меня проблемы со сборкой спуска на спуске с помощью vcpkgC++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 У меня проблемы со сборкой спуска на спуске с помощью vcpkg

Сообщение Anonymous »

Я пытаюсь собрать aseil для MSVC17. сборка создается неправильно.
Я попробовал переустановить менеджер пакетов VCPKG, а также проверить файлы журналов. Я думал, что доказательство журналов ошибок поможет кому-нибудь мне помочь.
для более подробной информации я поднял проблему в git
https://github .com/microsoft/vcpkg/issues/39509
в этом выпуске git я предоставил файл «D:\vcpkg\installed\vcpkg\issue_body.md», в котором показаны ошибки.
я пытаюсь собрать aseil для сборки opencv. aseil — это зависимость от opencv.
вот содержимое файла D:\vcpkg\buildtrees\abseil\config-x64-windows-dbg -err.log
Ошибка CMake в CMake/AbseilHelpers.cmake:317 (target_link_libraries):
Интерфейс ссылки целевого "test_allocator" содержит:
GTest::gmock

но цель не найдена. Возможные причины:
* There is a typo in the target name.
* A find_package call is missing for an IMPORTED target.
* An ALIAS target is missing.

Стек вызовов (сначала самый последний вызов):
absl/container/CMakeLists.txt:206 (absl_cc_library)
Предупреждение CMake:
В проекте не использовались переменные, указанные вручную:
FETCHCONTENT_FULLY_DISCONNECTED
_VCPKG_ROOT_DIR

Сбой этапа создания CMake. Файлы сборки невозможно восстановить правильно.
Вот файл порта:
if (NOT VCPKG_TARGET_IS_WINDOWS)
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
endif()

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO abseil/abseil-cpp
REF "${VERSION}"
SHA512 5062e731ee8c9a757e6d75fc1c558652deb4dd1daab4d6143f7ad52a139501c61365f89acbf82480be0f9a4911a58286560068d8b1a8b6774e6afad51739766e
HEAD_REF master
PATCHES
0001-revert-integer-to-string-conversion-optimizations.patch # Fix openvino MSVC compile error
)

vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
cxx17 ABSL_USE_CXX17
)

# With ABSL_PROPAGATE_CXX_STD=ON abseil automatically detect if it is being
# compiled with C++14 or C++17, and modifies the installed `absl/base/options.h`
# header accordingly. This works even if CMAKE_CXX_STANDARD is not set. Abseil
# uses the compiler default behavior to update `absl/base/options.h` as needed.
if (ABSL_USE_CXX17)
set(ABSL_USE_CXX17_OPTION "-DCMAKE_CXX_STANDARD=17")
endif ()

vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
DISABLE_PARALLEL_CONFIGURE
OPTIONS
-DABSL_PROPAGATE_CXX_STD=ON
${ABSL_USE_CXX17_OPTION}
)

vcpkg_cmake_install()
vcpkg_cmake_config_fixup(PACKAGE_NAME absl CONFIG_PATH lib/cmake/absl)
vcpkg_fixup_pkgconfig()

vcpkg_copy_pdbs()
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share"
"${CURRENT_PACKAGES_DIR}/debug/include"
"${CURRENT_PACKAGES_DIR}/include/absl/copts"
"${CURRENT_PACKAGES_DIR}/include/absl/strings/testdata"
"${CURRENT_PACKAGES_DIR}/include/absl/time/internal/cctz/testdata"
)

if (VCPKG_LIBRARY_LINKAGE STREQUAL "dynamic")
file(GLOB_RECURSE headers "${CURRENT_PACKAGES_DIR}/include/absl/*.h")
foreach(header IN LISTS ${headers})
vcpkg_replace_string("${header}"
"!defined(ABSL_CONSUME_DLL)" "0"
)
vcpkg_replace_string("${header}"
"defined(ABSL_CONSUME_DLL)" "1"
)
endforeach()
endif()

vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")


Подробнее здесь: https://stackoverflow.com/questions/786 ... sing-vcpkg
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»