Nano Hash - криптовалюты, майнинг, программирование

OpenSSL libcrypto-1_1-x64.dll отсутствует

Я начал проект на С++ и мне нужно реализовать некоторые библиотеки openssl. Я скачал библиотеки, следуя инструкциям по установке openssl.

это было больно, и мне приходилось устанавливать / переустанавливать несколько раз по нескольким причинам.

Я, наконец, смог, казалось бы, правильно установить openssl и скомпилировать библиотеки, связать их с -libcrypto и -libssl вместо -lcrypto и -lssl, которые я видел везде.

Я прошел процесс отладки, мои включения в порядке, и кажется, что реализация работает, потому что g++ находит файл ошибок и выдает ошибки компиляции, но когда он «успешно» компилируется, и я запускаю .exe, я получаю эту ошибку.

введите здесь описание изображения

Я провел поиск во внутренней папке openssl и нашел этот файл.

введите здесь описание изображения

Вот код моего make-файла, все эти места явно находятся в пути сборки

# *- Makefile -*

compiler=g++
standLib=-lstdc++ -llibcrypto -llibssl
include=-I C:\openssl-1.1.0e\include 
ExtLibrary=-L C:\openssl-1.1.0e        // <--- LOCATION OF THE .dll FILE
outfile=-o main.exe

all : main.o fileReader.o main

clean :
    del *.o *.exe

main: main.o fileReader.o numbers.o
    $(compiler) main.o $(standLib) $(include) $(ExtLibrary) $(outfile)

main.o : main.cpp fileReader.cpp
    $(compiler) -c main.cpp $(standLib) $(include) $(ExtLibrary) 

fileReader.o : fileReader.cpp fileReader.h
    $(compiler) -c fileReader.cpp $(standLib) 

numbers.o : numbers.cpp numbers.h
    $(compiler) -c numbers.cpp $(standlib) 

Что я упустил? Спасибо за любой вклад или помощь!

** ОБНОВИТЬ **

я обнаружил, что могу нормально выполнять свою программу, если она работает в том же каталоге, что и openssl, где находится libcrypto-1_1-x64.dll.

Как я могу создать свою программу, чтобы она могла запускать ее самостоятельно без установки openssl на компьютере? IE: если я хочу дать его другу, у которого не установлен openssl на его машине.


  • Добавьте этот каталог в системный путь или скопируйте dll в тот же каталог, что и ваш исполняемый файл. 30.03.2017
  • да, извините, я обнаружил, что на самом деле я могу выполнять свою программу, пока я в каталоге openssl .... есть ли способ скомпилировать эту библиотеку, чтобы мой .exe мог работать сам по себе? (не требуется установка openssl на компьютере + нахождение в том же каталоге, что и моя .dll) 30.03.2017
  • Да, это называется статическим связыванием. Как это сделать, зависит от вашей цепочки инструментов, это довольно легко найти. 30.03.2017

Ответы:


1

Чтобы решить эту проблему, вы должны просто добавить каталог openssl /bin в свой путь (используя переменные среды).

24.09.2020

2
  1. Удалите и переустановите комара
  2. скопируйте файлы libcrypto.dll и libssl.dll в каталог mosquitto и переустановите mosquitto
  3. Запустите mosquitto в командной строке cmd:

    cd C:\Program Files (x86)\mosquitto
    mosquitto

  4. Выполните эту подкоманду: mosquitto_sub -h test.mosquitto.org -t "#" -v

  5. Вы должны увидеть сообщения, приходящие с mosquitto.org тестового сервера.
23.01.2019
  • Можете ли вы объяснить, как это решает проблему? 28.03.2021
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..