Мне нужна библиотека Google re2 для кросс-платформенного проекта (win, mac, linux, android), а Linux — единственная операционная система с приемлемой ее упаковкой (arch Linux не использует cmake, но это решаемо), Brew и vcpkg терпят неудачу по-своему, и я даже не знаю, где искать Android.
Вместо того, чтобы разбираться с беспорядком в упаковке, я хочу собрать библиотеки для моего CI (и конечных пользователей) и, возможно, для других людей.
re2, к сожалению, зависит от подмножества спуска, что делает его более болезненным, и я не совсем уверен, как заставить системы сборки обоих проектов чисто плевать в меня .o, которые я затем могу вставить в .a или заставить CMake сделать это за меня
Вот мой лучший способ CMakeLists.txt
cmake_minimum_required(VERSION 3.22)
project(RE2_MONOLITHIC CXX)
include(FetchContent)
FetchContent_Declare(
abseil
GIT_REPOSITORY https://github.com/abseil/abseil-cpp.git
GIT_TAG 20250814.1
)
FetchContent_MakeAvailable(abseil)
FetchContent_Declare(
re2
GIT_REPOSITORY https://github.com/google/re2.git
GIT_TAG 2025-08-12
)
FetchContent_MakeAvailable(re2)
file(WRITE ${CMAKE_BINARY_DIR}/dummy.cpp "// dummy source")
add_library(re2_static STATIC ${CMAKE_BINARY_DIR}/dummy.cpp)
target_link_libraries(re2_static PRIVATE
re2::re2
absl::base
absl::strings
absl::synchronization
absl::optional
absl::flat_hash_map
absl::flat_hash_set
absl::inlined_vector
absl::flags
absl::core_headers
absl::str_format
absl::span
absl::hash
absl::fixed_array
)
который не работает с
CMake Error in build/_deps/re2-src/CMakeLists.txt:
install(EXPORT "re2Targets" ...) includes target "re2" which requires
target "absl_{every module}" that is not in any export set.
Подробнее здесь: https://stackoverflow.com/questions/797 ... a-libre2-a
Создайте libre2.a [дубликат] ⇐ C++
Программы на C++. Форум разработчиков
1761147560
Anonymous
Мне нужна библиотека Google re2 для кросс-платформенного проекта (win, mac, linux, android), а Linux — единственная операционная система с приемлемой ее упаковкой (arch Linux не использует cmake, но это решаемо), Brew и vcpkg терпят неудачу по-своему, и я даже не знаю, где искать Android.
Вместо того, чтобы разбираться с беспорядком в упаковке, я хочу собрать библиотеки для моего CI (и конечных пользователей) и, возможно, для других людей.
re2, к сожалению, зависит от подмножества спуска, что делает его более болезненным, и я не совсем уверен, как заставить системы сборки обоих проектов чисто плевать в меня .o, которые я затем могу вставить в .a или заставить CMake сделать это за меня
Вот мой лучший способ CMakeLists.txt
cmake_minimum_required(VERSION 3.22)
project(RE2_MONOLITHIC CXX)
include(FetchContent)
FetchContent_Declare(
abseil
GIT_REPOSITORY https://github.com/abseil/abseil-cpp.git
GIT_TAG 20250814.1
)
FetchContent_MakeAvailable(abseil)
FetchContent_Declare(
re2
GIT_REPOSITORY https://github.com/google/re2.git
GIT_TAG 2025-08-12
)
FetchContent_MakeAvailable(re2)
file(WRITE ${CMAKE_BINARY_DIR}/dummy.cpp "// dummy source")
add_library(re2_static STATIC ${CMAKE_BINARY_DIR}/dummy.cpp)
target_link_libraries(re2_static PRIVATE
re2::re2
absl::base
absl::strings
absl::synchronization
absl::optional
absl::flat_hash_map
absl::flat_hash_set
absl::inlined_vector
absl::flags
absl::core_headers
absl::str_format
absl::span
absl::hash
absl::fixed_array
)
который не работает с
CMake Error in build/_deps/re2-src/CMakeLists.txt:
install(EXPORT "re2Targets" ...) includes target "re2" which requires
target "absl_{every module}" that is not in any export set.
Подробнее здесь: [url]https://stackoverflow.com/questions/79796886/build-a-libre2-a[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия