Я скачал пакет nuget secp256k1_vc120 в Visual Studio.Я добавил папку «include» в свой список «дополнительных включаемых каталогов», папку «bin» в «дополнительные каталоги библиотеки», перечислил все 6 из файлов lib _x64 в «дополнительные зависимости» и скопировал оба _x64DLL файлы в system32.Мой тестовый код для генерации pubKey из privKey:
#include <stdio.h>
#include <secp256k1.h>
int main(int argc, char** argv)
{
uint8_t* privKey = malloc(32);
memset(privKey, 139, 32);
secp256k1_context* ctx = secp256k1_context_create(SECP256K1_CONTEXT_SIGN);
secp256k1_pubkey* pubkey = malloc(sizeof(*pubkey));
secp256k1_ec_pubkey_create(ctx, pubkey, privKey);
for (int i = 0; i < 65; i++)
{
printf("%02x", pubkey->data[i]);
}
}
При попытке запустить код я получаю два сообщения «ошибка внешнего символа» относительно secp256k1_context_create()
и secp256k1_pubkey_create()
;Кто-нибудь знает почему?Кроме того, какой из 6 файлов lib и 2 dll файлов я должен использовать (64-битный)?