207 похожих чатов

Всем привет! Кто нибудь настраивал grpc через Conan? подскажите как

заставить его не использовать системный Protobuf?
второй день мучаюсь ничего не выходит.

protoc компилирует тем что скачал конан но при компиляции сгенерированных файлов #include <google/protobuf/port_def.inc> берется из системы

вот код подпроекта с protobuf-ами

find_package(protobuf CONFIG REQUIRED)
find_package(gRPC CONFIG REQUIRED)

add_library(${PROJECT_NAME}
STATIC
amur.proto
)

target_include_directories(${PROJECT_NAME} PRIVATE
"${CMAKE_CURRENT_BINARY_DIR}"
)

if (protobuf_LITE)
target_link_libraries(${PROJECT_NAME} PRIVATE protobuf::libprotobuf-lite)
else()
target_link_libraries(${PROJECT_NAME} PRIVATE protobuf::libprotobuf)
endif()

if(TARGET protobuf::libprotoc)
target_link_libraries(${PROJECT_NAME} PRIVATE protobuf::libprotoc)
endif()

get_target_property(grpc_cpp_plugin_location gRPC::grpc_cpp_plugin LOCATION)
protobuf_generate(TARGET ${PROJECT_NAME} LANGUAGE cpp)
protobuf_generate(TARGET ${PROJECT_NAME} LANGUAGE grpc GENERATE_EXTENSIONS .grpc.pb.h .grpc.pb.cc PLUGIN "protoc-gen-grpc=${grpc_cpp_plugin_location}")

5 ответов

33 просмотра

grpc рекомендуют ставить в систему, видимо не просто так

ты уверен что cmake берёт именно не системный протобаф?

☻️- Автор вопроса
Aniki Hi$ok@ 🌈 Z 🐀
grpc рекомендуют ставить в систему, видимо не прос...

ну рекомендуется, но многие через конан ставят, я скачал тестовый пример рядом с рецептом, и после небольших модификаций он завелся у меня с указанным протобуфом. но вот не в тестовом проекте уже не заводится, раница по сути только в том что подмодуль использует grpc а не само приложение

☻️- Автор вопроса
Aniki Hi$ok@ 🌈 Z 🐀
ты уверен что cmake берёт именно не системный прот...

protobuf_generate берет из conan, а при компиляции уже берется системный, там номер версии указан, и в сгенерированных файлах стоит версия конановского протобуфа, а include уже из системы тянет

А как интегрируется с конаном?

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта