Проблемы с установкой openSSL MacOs X gcc-9 для C / C ++ - PullRequest
0 голосов
/ 23 июня 2019

Подводя итог моей проблеме: я начал изучать C ++, скачал последний компилятор gcc-9 и хотел немного больше узнать о программировании сокетов в C ++, особенно сокетов SSL. Поэтому я, естественно, нашел библиотеку OpenSSL, которая отвечает всем необходимым, и я хотел начать ее использовать, но здесь все усложняется ...

(Исходя из загрузки пакетов Node.js, Python и PHP на самом деле не было проблемой.)

Я нашел несколько сайтов, подобных этим:

которые показывают, как установить библиотеку и скомпилировать ее.

Насколько я понимаю процесс установки, строки:

./config --prefix=/usr/local/mac-dev-env/openssl-1.1.1a
./Configure darwin64-x86_64-cc shared enable-ec_nistp_64_gcc_128 no-ssl2 no-ssl3 no-comp --openssldir=/usr/local/ssl/macos-x86_64
./config --prefix=/home/username/openssl --openssldir=/home/username/openssl no-ssl2

используются для указания места установки / каталога результирующей компиляции. Затем, согласно веб-сайтам, они изменяют некоторые параметры в файле .bash_profile, чтобы использовать правильную версию openssl при использовании openssl в качестве инструмента командной строки.

Это подводит нас к моему основному вопросу: при создании файла C ++ и написании источников, как могут работать эти файлы:

#include <openssl/myname.h>

Потому что, в зависимости от того, какому руководству я следую, пакеты будут устанавливаться в разных местах файловой системы, а включение файла с использованием < и > делает поиск препроцессора в определенных местах? Так, как я могу сделать эти вещи правильным способом; это действительно неясно в моей голове?

А также важен каталог, в котором я делаю компиляцию? Я видел в каком-то уроке, что нас просили переместиться в специальное место перед загрузкой исходников и началом компиляции.

1 Ответ

1 голос
/ 23 июня 2019

После запуска make && make install вы запускаете:

g++ -I/path/to/directory/where/openssl/is/installed/include source-file.cc

для компиляции вашей программы.

...