首页 > 解决方案 > 如何在 Android(NDK) 中使用 CPR 库?

问题描述

我正在尝试在 android中使用心肺复苏术。这是我src/main/cpp的目录结构:

cpr/ 
native-lib.cpp
CMakeLists.txt

注意:cpr/目录是通过运行这个命令生成的git clone --recurse-submodules https://github.com/whoshuu/cpr.git

这是目录中的CMakeLists.txt内容src/main/cpp

cmake_minimum_required(VERSION 3.4.1)
add_library(
        native-lib
        SHARED
        native-lib.cpp
)
find_library(
        log-lib
        log
)

add_subdirectory(cpr)
target_link_libraries(
        native-lib
        cpr
        ${log-lib}
)

但是当我构建和运行代码时出现这个错误:

Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the
  system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY
  OPENSSL_INCLUDE_DIR)

标签: androidc++cmakeandroid-ndkopenssl

解决方案


您可以先看看这个stack-overflow答案:访问参考 -查找 open-ssl

如果您使用的是 Linux-OS - 这很有效!您可以open-ssl通过终端安装:

  • sudo apt-get install libssl-dev

否则,您必须解决如下:您必须在 中打开CMakeCache.txt文件source-directory,找到该行:

  • OPENSSL_INCLUDE_DIR:PATH=OPENSSL_INCLUDE_DIR-NOTFOUND

访问参考:find-open-ssl,然后将其更改为 source-directory 中的 openssl 位置,如下所示:

  • OPENSSL_INCLUDE_DIR:PATH=/usr/local/opt/openssl/include

如需进一步了解详情:请访问参考资料-open -ssl-during-cmake


推荐阅读