编译成功,运行时出错,错误标示:
LTC_ARGCHK 'ltc_mp.name != NULL' failure on line 59 of file src/pk/ecc/ecc_make_key.c Aborted
这怎么能解决呢?看了好几天,没找到解决方案
失败的原因是“math_descriptor”未初始化。
使用tomcrypt库之前需要安装数学库tommath或tomfastmath库,
首先以下的CFLAGS编译tomcrypt库:
make CFLAGS="-DUSE_LTM -DLTM_DESC" EXTRALIBS="-ltommath"
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