Closed natsucity closed 1 week ago
This issue is stale because it has been open for 30 days with no activity. It will be closed in 3 days if no further activity occurs.
This issue was closed because it has been inactive for 3 days since being marked as stale.
Before Creating the Bug Report
[X] I found a bug, not just asking a question, which should be created in GitHub Discussions.
[X] I have searched the GitHub Issues and GitHub Discussions of this repository and believe that this is not a duplicate.
[X] I have confirmed that this bug belongs to the current repository, not other repositories of RocketMQ.
Programming Language of the Client
C++
Runtime Platform Environment
Windows 11 23H2
RocketMQ Version of the Client/Server
latest repository
Run or Compiler Version
Visual Studio 2022 CMake 3.28.3
Describe the Bug
An error occured when building c++ version of rocket clients. gRPC v1.46.3 gflags v2.2.2 openssl v3.3.1
Steps to Reproduce
follow the official building instructions.
What Did You Expect to See?
target rocketmq_shared successfully built
What Did You See Instead?
error LNK2019
Additional Context
I found that the target 'rocketmq_shread' uses header files from OpenSSL libs requried by the building instruction while it linked to 'crypto.lib' shipped by google gRPC which actually bulit from boringssl. The unfound symbol EVP_MD_get_szie from TlsHelper.cpp comes from macro EVP_MD_size, which, in the context of openssl, expands to the fucntion EVP_MD_get_size. I know little about openssl or boringssl, but I found that the symbol EVP_MD_size does exists in 'crypto.lib'. So I use the code to bridge the call the EVP_MD_size function. `
undef EVP_MD_size
extern "C" { int EVP_MD_size(const EVP_MD *md); } ` The target can be built successfully, but I'm not sure if this can work properly.