как импортировать openssl/sha.h или openssl/md5.h в macOS

#c #c #macos #openssl #homebrew

Вопрос:

Я пытаюсь импортировать заголовок openssl в свой файл cpp на macos следующим образом :

 #include <openssl/sha.h>
#include <openssl/md5.h>
 

Я пытаюсь установить openssl с :

 brew install openssl
brew link --force openssl
 

затем я получил это:

 Warning: Refusing to link macOS provided/shadowed software: openssl@3
If you need to have openssl@3 first in your PATH, run:
  echo 'export PATH="/usr/local/opt/openssl@3/bin:$PATH"' >> ~/.zshrc

For compilers to find openssl@3 you may need to set:
  export LDFLAGS="-L/usr/local/opt/openssl@3/lib"
  export CPPFLAGS="-I/usr/local/opt/openssl@3/include"
 

поэтому я бегу :

 echo 'export PATH="/usr/local/opt/openssl@3/bin:$PATH"' >> ~/.zshrc
export CPPFLAGS="-I/usr/local/opt/openssl@3/include"
export LDFLAGS="-L/usr/local/opt/openssl@3/lib"
 

для запуска моего файла я использую g -lcrypto -lssl main.cpp -o main amp;amp; ./main

но я получил все это предупреждение, и библиотека не найдена :

 main.cpp:14:3: warning: 'MD5' is deprecated [-Wdeprecated-declarations]
  MD5((unsigned char*)s, strlen(s), empreinte);
  ^
/usr/local/include/openssl/md5.h:52:1: note: 'MD5' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 unsigned char *MD5(const unsigned char *d, size_t n,
^
/usr/local/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/usr/local/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
1 warning generated.
ld: library not found for -lcrypto
 

Есть какое-нибудь решение ?

Комментарии:

1. Пожалуйста, замените эти изображения текстом, который они содержат. Это позволяет искать сообщения об ошибках, что вам следовало сделать еще до публикации здесь.