#cmake #grpc
#cmake #grpc
Вопрос:
Я попытался собрать grcp с CMake в Linux, но столкнулся с некоторыми ошибками. Отчет журнала
/usr/bin/ld: libgrpc _test_config.so.1.31.0: неопределенная ссылка на ‘google::ParseCommandLineFlags (int*, char***, bool)’
Я уже установил gflags и пакет gflags-devel и попытался
ldd libgrpc _test_config.so.1.31.0
но нет ссылки на gflags…
Я думаю, что cmake / gflags.cmake имеет некоторую ошибку в строке 28, потому что find_package
целью является gflags, но следующая строка TARGET
становится gflags:: gflags…
Это моя команда сборки:
cmake ../.. -DgRPC_INSTALL=ON -DCMAKE_BUILD_TYPE=Release -DgRPC_CARES_PROVIDER=package -DgRPC_PROTOBUF_PROVIDER=package -DgRPC_SSL_PROVIDER=package -DgRPC_ZLIB_PROVIDER=package -DgRPC_GFLAGS_PROVIDER=package -DgRPC_BUILD_TESTS=ON -DBUILD_SHARED_LIBS=ON
make
make install
Комментарии:
1. Запускали ли вы
git submodule update --init --recursive
для инициализации модулей third_party свой локальный клон вашего репозитория grpc / grpc?2. нет, но я загружаю код подмодуля и разархивировал его в папку third_party/${package}. наконец, я изменяю
gflags::gflags
наgflags
и добиваюсь успеха