使用 libtomcrypt 库测试 ECC 时出现错误

编译成功,运行时出错,错误标示:

LTC_ARGCHK 'ltc_mp.name != NULL' failure on line 59 of file src/pk/ecc/ecc_make_key.c Aborted

这怎么能解决呢?看了好几天,没找到解决方案

https://www.v2ex.com/t/376115

失败的原因是“math_descriptor”未初始化。
使用tomcrypt库之前需要安装数学库tommath或tomfastmath库,

首先以下的CFLAGS编译tomcrypt库:

如果是用的tommath,用以下命令来编译tomcrypt库

make CFLAGS="-DUSE_LTM -DLTM_DESC" EXTRALIBS="-ltommath"

如果是用的tomfastmath,用以下命令来编译tomcrypt库

make CFLAGS="-DUSE_TFM -DTFM_DESC" EXTRALIBS="-ltfm"

然后在使用tomcrypt的应用程序中,需要在 include <tomcrypt.h> 之前定义LTM_DESC或TFM_DESC
// #define LTM_DESC // 如果使用数学库的是tommath
#define TFM_DESC // 如果使用的数学库是tomfastmath

最后在应用程序添加如下代码:
// ltc_mp = ltm_desc; // 如果使用数学库的是tommath
ltc_mp = tfm_desc; // 如果使用的数学库是tomfastmath