我是个新手,所以我尝试使用cmake和NDK工具链交叉编译Android的GRPC(https://github.com/grpc/grpc)来生成共享库,如下所示:cmake -DCMAKE_TOOLCHAIN_FILE=$And_PATH/android.toolchain.cmake -DCMAKE_CROSSCOMPILING=true -DANDROID_ABI=arm64-v8a -DCMAKE_INSTALL_PREFIX=/cross_grpc -DANDROID_PLATFORM=android-26 -DANDROID_STL=c++_shared CFLAGS=“std=c11”CXXFLAGS=“std=c++14”cmake -B . -S /grpc使用上面的代码,我可以构建和生成静态库,但是如果我添加-DBUILD_SHARED_LIBS=ON,我会得到下面的错误ld:错误:未定义符号:BIO_ctrl引用bio_ssl.cc:191(/grpc/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc:191)ld:错误:未定义符号:BIO_clear_retry_flags引用bio_ssl.cc:65(/grpc/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc:65)ld:错误:未定义符号:BIO_set_retry_write引用bio_ssl.cc:71(/grpc/third_party/boringssl-with-bazel/src/ssl/bio_ssl.cc:71)我没有粘贴所有的错误,因为它是一个未定义的符号错误的长列表。
|