Size: a a a

2019 October 22

S

Snusmumriken in pro.lua
Я тут в стимовой либе вообще монстрячу, дописываю методы класса вне файлов этого класса. Но тут это обосновано тем, что класс наполнен колбеками разных категорий, и хотелось бы их поместить поблизости от основных функций тех же категорий.
источник
2019 October 24

U

UsernameAK in pro.lua
Anatoliy S
Т.е это для сборки в линухе? А то я убрал .in оставив только .h - пошли ошибки
> Т.е это для сборки в линухе?
а почему обязательно в линухе
источник

I

Igor725 in pro.lua
Anatoliy S
А ясно - надо поискать hmac.lb от опенссл и тоже прописать его в настройках студии
Уже поздно, наверное, отвечать, ну да ладно, лучше поздно, чем никогда:
У OpenSSL все крипто-функции находятся в libcrypto, так что тебе не hmac.lib нужен, а libcrypto-[версия].lib или что-то подобное. Если тебе влом компилить самому OpenSSL есть прекрасный сайт libs4win.com, я оттуда openssl и zlib тяну при необходимости, довольно удобно. В одном архиве там сразу имеются дебаг-символы, инклуды, статика и всё, что сердце пожелает.
источник

AS

Anatoliy S in pro.lua
Igor725
Уже поздно, наверное, отвечать, ну да ладно, лучше поздно, чем никогда:
У OpenSSL все крипто-функции находятся в libcrypto, так что тебе не hmac.lib нужен, а libcrypto-[версия].lib или что-то подобное. Если тебе влом компилить самому OpenSSL есть прекрасный сайт libs4win.com, я оттуда openssl и zlib тяну при необходимости, довольно удобно. В одном архиве там сразу имеются дебаг-символы, инклуды, статика и всё, что сердце пожелает.
Непоздно, но мне нужно скомпилить именно hmac.c
источник

I

Igor725 in pro.lua
Anatoliy S
Непоздно, но мне нужно скомпилить именно hmac.c
HMAC функции находятся внутри libcrypto, это такая огромная свалка всяких криптографических функций, которая годами набиралась, если тебе нужны только функции HMAC и никакие больше, идёшь в репозиторий openssl, клонируешь его и собираешь из исходников указав скрипту-конфигуратору параметры no-md2, no-md4, no-m5 и все остальные модули, перечисленые в документации по сборке openssl, которые тебе не нужны. Когда конфигуратор завершит работу, запускай компил, далее уже в студии, как Снус написал прописываешь пути до папок ...\openssl\include и ...\openssl\lib, в строку с перечисленными библиотеками добавляешь libcrypto.lib, чтобы ошибок линкера не было (можно в принципе и в коде проекта указать через прагму путь до статической библиотеки, но это вообще нежелательная фигня) и уже компилишь свой проект. И да, не забудь динамическую библиотеку libcrypto-[версия].dll в свой собранный проект скопировть, иначе он не будет знать, откуда тянуть символы и при запуске ошибку выплюнет.
источник

I

Igor725 in pro.lua
В принципе можно и не отключать ненужные модули криптографии, но тогда у тебя динамика libcrypto-[версия].dll будет весить порядка 4 мегов
источник

AS

Anatoliy S in pro.lua
Igor725
HMAC функции находятся внутри libcrypto, это такая огромная свалка всяких криптографических функций, которая годами набиралась, если тебе нужны только функции HMAC и никакие больше, идёшь в репозиторий openssl, клонируешь его и собираешь из исходников указав скрипту-конфигуратору параметры no-md2, no-md4, no-m5 и все остальные модули, перечисленые в документации по сборке openssl, которые тебе не нужны. Когда конфигуратор завершит работу, запускай компил, далее уже в студии, как Снус написал прописываешь пути до папок ...\openssl\include и ...\openssl\lib, в строку с перечисленными библиотеками добавляешь libcrypto.lib, чтобы ошибок линкера не было (можно в принципе и в коде проекта указать через прагму путь до статической библиотеки, но это вообще нежелательная фигня) и уже компилишь свой проект. И да, не забудь динамическую библиотеку libcrypto-[версия].dll в свой собранный проект скопировть, иначе он не будет знать, откуда тянуть символы и при запуске ошибку выплюнет.
По той ссылке что ты дал я качнул опенссл вот этот - https://libs4win.com/libopenssl/openssl-1.1.2-dev-msvc2017-x86-debug.zip
там как раз есть сконфигурированный opensslconf.h под винду которого мне нехватало и либы про которые ты говоришь - libcrypto.lib - прописал её в свойствах проекта - теперь ошибок осталось совсем мало, все равно как будто нехватает чего то
источник

AS

Anatoliy S in pro.lua
источник

I

Igor725 in pro.lua
Подключи инклуд evp
источник

I

Igor725 in pro.lua
Он нужен для hmac
источник

I

Igor725 in pro.lua
#include <openssl/evp.h>
источник

I

Igor725 in pro.lua
Так, стоп, тебе нужно не копировать код модулей openssl себе в проект, а именно подключать его
источник

I

Igor725 in pro.lua
Удали из своего проекта файлы hmac.c и hmac.h
источник

I

Igor725 in pro.lua
Тебе нужно только инклуды из openssl подключать
источник

I

Igor725 in pro.lua
#include <openssl/evp.h>
#include <openssl/hmac.h>
источник

AS

Anatoliy S in pro.lua
Igor725
Подключи инклуд evp
Подключил инклуд evp - непомогло, он в hmac.c непредусмотрен разрабами потому что он уже в другом хедере подключается hmac.c - я же не сам писал, короче раз у тебя есть желание помочь то давай начнем с самого начала,  сама по себе компиляция hmac.c непосредственно мне не нужна,  я создал код либы dll подключаемой в луа  скрипт по образцу - https://quik2dde.ru/viewtopic.php?id=18
источник

AS

Anatoliy S in pro.lua
Сам код могу сюда выложить
источник

I

Igor725 in pro.lua
Исходники openssl не рассчитаны вообще на то, чтобы находиться вне этого самого openssl
источник

I

Igor725 in pro.lua
Тебе внутри проекта твоего hmac.c и hmac.h не нужны
источник

I

Igor725 in pro.lua
Они должны быть только в самом openssl
источник