How to fix CMake: The imported target "gRPC::grpc_cpp_plugin" references the file

Problem

When trying to build a C++ project that depends on gRPC, you might encounter the following error:

example.txt
CMake Error at /usr/lib/x86_64-linux-gnu/cmake/grpc/gRPCTargets.cmake:194 (message):
  The imported target "gRPC::grpc_cpp_plugin" references the file

     "/usr/bin/grpc_cpp_plugin"

  but this file does not exist.  Possible reasons include:

  * The file was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and contained

     "/usr/lib/x86_64-linux-gnu/cmake/grpc/gRPCTargets.cmake"

  but not all the files it references.

Call Stack (most recent call first):
  /usr/lib/x86_64-linux-gnu/cmake/grpc/gRPCConfig.cmake:25 (include)
  CMakeLists.txt:37 (find_package)

Solution

You need to install protobuf-compiler-grpc to get the grpc_cpp_plugin executable. You can do this using the following command:

install-protobuf-compiler-grpc.sh
sudo apt -y install protobuf-compiler-grpc

Check out similar posts by category: C/C++