Опитвам се да създам gRPC (cpp) с помощта на CMake, но срещам грешки. Мога успешно да създам gRPC с make
според инструкциите на gRPC cpp страница. Използването на make
е отхвърлено, но CMake не работи за мен.
След като следвам инструкциите за изтегляне, клониране и т.н., отивам на „Изграждане с CMake“, където пише за Linux/Unix, направете това:
$ mkdir -p cmake/build
$ cd cmake/build
$ cmake ../..
$ make
За мен се проваля на 3-ти ред (cmake
). Следното е резултатът:
$ cmake ../..
-- The C compiler identification is GNU 7.4.0
-- The CXX compiler identification is GNU 7.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:138 (include):
include could not find load file:
cmake/zlib.cmake
< repeats above error for the following .cmake files: cares, protobuf, ssl, gflags, benchmark, address_sorting and nanopb>
Тези файлове (cmake/<package name>.cmake
) не съществуват в директорията cmake/
на моята система. Не съм сигурен какво във файла CMakeLists.txt би ги накарало да се появят там.
Проучвайки този проблем, изпробвах различни комбинации от cmake
опции, като -DBUILD_SHARED_LIBS=ON
, -DgRPC_INSTALL=ON
и -DgRPC<package_name>_PROVIDER=package
за всеки от грешките, изброени по-горе. Винаги получавам едни и същи грешки. Накрая се опитах да стартирам скрипта run_distrib_test_cmake.sh
. В крайна сметка се провали по същия начин.
Някакви идеи?