If you want to build static library of gRPC, you can check following steps:
$ git clone https://github.com/grpc/grpc.git
$ cd grpc
$ git submodule update --init
$ CC=clang CXX=clang++ make REQUIRE_CUSTOM_LIBRARIES_opt=1 static
If you bump into following errors:
third_party/protobuf/src/google/protobuf/stubs/port.h:263:5: error: macro expansion producing 'defined' has undefined
behavior [-Werror,-Wexpansion-to-defined]
#if GOOGLE_PROTOBUF_USE_UNALIGNED
^
Please check this patch. After compile, you can find all libraries are static:
$ ls -alt libs/opt/*
-rw-r--r-- 1 xiaonan xiaonan 8109188 Oct 6 17:54 libs/opt/libgrpc++_unsecure.a
-rw-r--r-- 1 xiaonan xiaonan 3705192 Oct 6 17:54 libs/opt/libgrpc++_reflection.a
-rw-r--r-- 1 xiaonan xiaonan 2089436 Oct 6 17:54 libs/opt/libgrpc++_error_details.a
-rw-r--r-- 1 xiaonan xiaonan 24675866 Oct 6 17:54 libs/opt/libgrpc++_cronet.a
-rw-r--r-- 1 xiaonan xiaonan 9276572 Oct 6 17:54 libs/opt/libgrpc++.a
-rw-r--r-- 1 xiaonan xiaonan 917148 Oct 6 17:54 libs/opt/libgrpc++_core_stats.a
-rw-r--r-- 1 xiaonan xiaonan 7180018 Oct 6 17:54 libs/opt/libgrpc_plugin_support.a
-rw-r--r-- 1 xiaonan xiaonan 8163444 Oct 6 17:41 libs/opt/libgrpc_unsecure.a
-rw-r--r-- 1 xiaonan xiaonan 18854796 Oct 6 17:41 libs/opt/libgrpc_cronet.a
-rw-r--r-- 1 xiaonan xiaonan 20064046 Oct 6 17:41 libs/opt/libgrpc.a
-rw-r--r-- 1 xiaonan xiaonan 10669618 Oct 6 17:40 libs/opt/libboringssl.a
-rw-r--r-- 1 xiaonan xiaonan 456458 Oct 6 17:39 libs/opt/libgpr.a
-rw-r--r-- 1 xiaonan xiaonan 379730 Oct 6 17:39 libs/opt/libz.a
-rw-r--r-- 1 xiaonan xiaonan 629666 Oct 6 17:39 libs/opt/libares.a
libs/opt/protobuf:
total 114748
drwxr-xr-x 4 xiaonan xiaonan 4096 Oct 6 17:54 ..
-rw-r--r-- 1 xiaonan xiaonan 50492478 Oct 6 17:49 libprotobuf.a
drwxr-xr-x 2 xiaonan xiaonan 4096 Oct 6 17:49 .
-rw-r--r-- 1 xiaonan xiaonan 66986782 Oct 6 17:49 libprotoc.a
libs/opt/pkgconfig:
total 24
drwxr-xr-x 4 xiaonan xiaonan 4096 Oct 6 17:54 ..
drwxr-xr-x 2 xiaonan xiaonan 4096 Oct 6 17:41 .
-rw-r--r-- 1 xiaonan xiaonan 283 Oct 6 17:41 grpc++_unsecure.pc
-rw-r--r-- 1 xiaonan xiaonan 253 Oct 6 17:41 grpc++.pc
-rw-r--r-- 1 xiaonan xiaonan 283 Oct 6 17:39 grpc_unsecure.pc
-rw-r--r-- 1 xiaonan xiaonan 264 Oct 6 17:39 grpc.pc
hi,I build grpc to static link library get error,please help me.
https://stackoverflow.com/questions/74056316/how-to-build-grpc-to-static-link-library-on-macos