Пробовал несколько найденных в сети инструкций - результат всегда одинаковый:
/bin/sh: gcc: command not found
make[1]: *** [Makefile:591: crypto/aes/aes_cbc.o] Error 127
make[1]: Leaving directory '/d/Libraries/Sources/openssl-1.1.0f'
make: *** [Makefile:126: all] Ошибка 2
Директории "MSYS2" и "MinGW\mingw32\bin" прописаны в PATH, компилятор рабочий (кучу проектов и других библиотек собрал). Что не так ему с OpenSSL?
Нужны статические lib*.a библиотеки OpenSSL и их инклуды. Подскажите пожалуйста как собрать под Windows (mingw-w64) или, если кто знает где есть уже готовый вариант, поделитесь ссылкой пожалуйста.
Не прописывайте MSYS2 и путь к компилятору в PATH
.
Используйте соответствующие оболочки, вызовите нужную через меню пуск: "MSYS2 MinGW 64-bit"
Оно настроит вам нужное окружение.
Более того, в самом окружении MSYS2 поставьте MinGW компилятор. В общем, для начала приложите вывод команды pacman -Q
. Если же бегло, то в выводе должен присутствовать:
mingw-w64-x86_64-gcc
Если же его нет, то нужно:
pacman -S mingw-w64-x86_64-gcc
Но для начала стоит обновить всё окружение:
pacman -Syu
Возможно потребуются другие библиотеки для отстройки OpenSSL. Нужно так же ставить mingw-w64-x86_64-XXX
версии.
К примеру, в самом MSYS2 есть три версии OpenSSL:
Для других пакетов это тоже верно. Будьте внимательны и читайте доки, они рулез!
PS Кстати, возможно этих пакетов OpenSSL вам как раз и будет достаточно и не нужно будет собирать самому. Что тоже решение вопроса.
Простой способ - добавить каталог "MinGW/mingw64/bin", и удалить "MinGW\mingw32\bin" в переменную path - нельзя добавлять две версии одной программы в path. Предполагаю, у вас проблема именно из-за конфликта mingw32 и mingw64.
Другой вариант - нужно устанавливать переменные CXX и/или CC при запуске make (или перед запуском): make -j4 CXX=g++ CC=gcc
. В этом случае не возникает конфликтов версий компиляторов.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Что не так с реализацией, почему пишет "множественное определение" всех методов за классом? Пишу в QtCreator
Есть функция, принимающая rvalue ссылку и передающая её другой функции, принимающей rvalue ссылку:
Есть проект, в нем обрабатывает внешняя библиотека, у которой есть функции обратного вызоваКогда происходит событие функция обратного вызова...
На строке hr = pEnum->Next(WBEM_INFINITE, 1, &pObject, &returned); выкидывает ошибку IDispatch error #3587, почему это происходит и как это можно исправить?