natsucity opened a new issue, #847:
URL: https://github.com/apache/rocketmq-clients/issues/847

   ### Before Creating the Bug Report
   
   - [X] I found a bug, not just asking a question, which should be created in 
[GitHub Discussions](https://github.com/apache/rocketmq-clients/discussions).
   
   - [X] I have searched the [GitHub 
Issues](https://github.com/apache/rocketmq-clients/issues) and [GitHub 
Discussions](https://github.com/apache/rocketmq-clients/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
    
   ![Screenshot 2024-10-16 
161145](https://github.com/user-attachments/assets/876931bd-3f02-4221-9b46-369d6c91c82c)
   
   
   
   ### 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. 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@rocketmq.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to