curl 编译失败 HarmonyOS 鸿蒙Next
curl 编译失败 HarmonyOS 鸿蒙Next
咨询描述:curl 编译失败
咨询场景描述:
在 mac m1上按照文档进行编译
[https://gitee.com/openharmony-sig/tpc_c_cplusplus/blob/master/thirdparty/curl/docs/hap_integrate.md](https://gitee.com/openharmony-sig/tpc_c_cplusplus/blob/master/thirdparty/curl/docs/hap_integrate.md)
直接使用./build.sh CUnit 可以正常编译
但是使用./build.sh curl
日志输出
Build OS Darwin
OHOS_SDK=/Users/weizesheng/gitee/mkc/sdk/packages/ohos-sdk/darwin/
CLANG_VERSION=15.0.4
curl not ready. wait nghttp2
nghttp2 not ready. wait CUnit nghttp3
curl not ready. wait nghttp2
CUnit-2.1-3.tar.bz2: OK
Start building CUnit 2.1-3!
/Users/weizesheng/gitee/mkc/tpc_c_cplusplus/community/CUnit/CUnit-2.1-3.tar.bz2,存在
CUnit-2.1-3.tar.bz2: OK
Compileing OpenHarmony armeabi-v7a CUnit 2.1-3 libs...
/Users/weizesheng/gitee/mkc/tpc_c_cplusplus/community/CUnit/HPKBUILD: line 44: ./configure: No such file or directory
ERROR during : build --prefix=/Users/weizesheng/gitee/mkc/tpc_c_cplusplus/lycium/usr/CUnit/armeabi-v7a/
/Users/weizesheng/gitee/mkc/tpc_c_cplusplus/lycium/../community/CUnit build ERROR. errno: 1
nghttp3 not ready. wait CUnit
nghttp2 not ready. wait CUnit nghttp3
curl not ready. wait nghttp2
nghttp3 not ready. wait CUnit
nghttp2 not ready. wait CUnit nghttp3
curl not ready. wait nghttp2
Please check the dependencies of these items:
/Users/weizesheng/gitee/mkc/tpc_c_cplusplus/lycium/../thirdparty//nghttp3 /Users/weizesheng/gitee/mkc/tpc_c_cplusplus/lycium/../community/nghttp2 /Users/weizesheng/gitee/mkc/tpc_c_cplusplus/lycium/../thirdparty//curl
The follow pkg build error!
/Users/weizesheng/gitee/mkc/tpc_c_cplusplus/lycium/../community/CUnit
CUnit无法编译导致curl 编译失败 提示./configure: No such file or directory,如何解决
更多关于curl 编译失败 HarmonyOS 鸿蒙Next的实战教程也可以访问 https://www.itying.com/category-93-b0.html
1)编译依赖项CUnit失败,需要将相关的依赖都拷贝到 thirdparty目录中,再执行编译命令。
2)依赖链接:https://gitee.com/brllllance/c_cpp_thirdparty/blob/master/curl.zip
更多关于curl 编译失败 HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在编译 curl
时遇到失败,可能与鸿蒙Next的编译环境或依赖库有关。以下是一些可能的检查点:
-
编译环境:确保你的编译环境正确配置了鸿蒙Next的SDK和工具链。检查
sysroot
、CC
、CXX
等环境变量是否指向鸿蒙Next的工具链。 -
依赖库:
curl
依赖于zlib
、openssl
等库。确保这些库已经在鸿蒙Next环境下正确编译并安装。 -
配置选项:在编译
curl
时,可能需要指定特定的配置选项来适配鸿蒙Next。例如,使用--with-zlib
、--with-ssl
等选项来指定依赖库的路径。 -
错误日志:查看编译失败的具体错误日志,根据日志信息定位问题。常见的错误可能包括缺失的头文件、未定义的符号、链接错误等。
-
交叉编译:如果是在非鸿蒙Next的系统上进行交叉编译,确保交叉编译工具链配置正确,并且所有依赖库都适用于目标架构。
-
版本兼容性:检查
curl
的版本是否与鸿蒙Next的API和ABI兼容。可能需要使用特定版本的curl
或进行一些代码适配。
通过以上步骤,可以更好地定位和解决 curl
在鸿蒙Next上的编译失败问题。