为什么链接器找不到absl引用?
配置:
树莓派 4 B 型 (AArch64) | Ubuntu 服务器 20.04 | Clang++ (llvm 13.0.0) | GRPC v1.41.1(libprotoc 3.17.3)
使用以下选项安装 GRPC:
cmake -DgRPC_INSTALL=ON -DCMAKE_BUILD_TYPE=Release -DgRPC_ABSL_PROVIDER=module -DgRPC_CARES_PROVIDER=module -DgRPC_PROTOBUF_PROVIDER=module -DgRPC_RE2_PROVIDER=module -DgRPC_SSL_PROVIDER=module -DgRPC_ZLIB_PROVIDER=module -j4 ../
sudo make install
Run Code Online (Sandbox Code Playgroud)
命令:
clang++ -std=c++17 -iquote /home/ubuntu/gameserver/server/include -include /usr/local/include/grpcpp/support/method_handler.h -L /usr/local/lib src/gameserver.pb.cc src/gameserver.grpc.pb.cc server_test.cpp -lprotobuf -lpthread -ljsoncpp -lgrpc -lgrpc++ -lgrpc++_reflection -labsl_base -labsl_synchronization -labsl_malloc_internal -labsl_stacktrace -labsl_raw_logging_internal -labsl_time -labsl_graphcycles_internal -labsl_spinlock_wait -lgrpc_unsecure -lz -labsl_symbolize -lgpr -labsl_status -labsl_statusor -o server_test -v -Wl,--verbose
Run Code Online (Sandbox Code Playgroud)
链接器找到基类(在此 [header][1] 中找到):
/usr/local/lib/libabsl_base.a
Run Code Online (Sandbox Code Playgroud)
错误:
/usr/bin/ld: /usr/local/lib/libabsl_synchronization.a(mutex.cc.o): in function …Run Code Online (Sandbox Code Playgroud)