tencent cloud

文档反馈

C++ SDK 常见问题

最后更新时间:2024-01-04 18:00:58

    编译可执行程序的时候提示错误: PocoCrypto.so.64: undefined reference ,该如何处理?

    PocoCrypto.so.64: undefined reference to `PEM_write_bio_PrivateKey@libcrypto.so.10'
    libPocoNetSSL.so.64: undefined reference to `X509_check_host@libcrypto.so.10'
    ibPocoCrypto.so.64: undefined reference to `ECDSA_sign@OPENSSL_1.0.1_EC'
    libPocoCrypto.so.64: undefined reference to `CRYPTO_set_id_callback@libcrypto.so.10'
    ibPocoCrypto.so.64: undefined reference to `EVP_PKEY_id@libcrypto.so.10'
    libPocoNetSSL.so.64: undefined reference to `SSL_get1_session@libssl.so.10'
    libPocoNetSSL.so.64: undefined reference to `SSL_get_shutdown@libssl.so.10'
    libPocoCrypto.so.64: undefined reference to `EVP_PKEY_set1_RSA@libcrypto.so.10'
    libPocoCrypto.so.64: undefined reference to `SSL_load_error_strings@libssl.so.10'
    这种情况一般是工程里自带的 poco 库的编译依赖的 SSL 版本与客户机器上的版本不一致导致的,需要用户重新编译 poco 库,并替换掉 third_party 里的poco库。
    注意
    此处建议执行以下命令从github下载源码。如果从poco官网下载,请下载COMPLETE版本。
    wget https://github.com/pocoproject/poco/archive/refs/tags/poco-1.9.4-release.zip
    cd poco-poco-1.9.4-release/
    ./configure --omit=Data/ODBC,Data/MySQL
    mkdir my_build
    cd my_build
    cmake ..
    make -j5

    编译 poco 库的时候无法编译出 PocoNetSSL 库,该如何处理?

    一般是因为机器没装 openssl-devel 库。使用如下命令安装。
    yum install -y openssl-devel

    编译可执行程序的时候提示错误: undefined reference to qcloud_cos ,该如何处理?

    undefined reference to `qcloud_cos::CosConfig::CosConfig(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
    这种情况一般是因为工程自带的 libcossdk.a 编译使用的 gcc 版本与客户机器上的 gcc 版本不一致导致的,需要客户重新编译 poco 库和 libcossdk。

    C++ SDK 报错请求过期报错请求过期:Request has expired ,该如何处理?

    由于签名过期导致,重新生成签名即可解决;若重新生成签名仍报相同的错误,可以再检查下机器的本地时间是否已设置为当地标准时间。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持