Openssl,无效参数'候选者是:int BN_set_word(bignum_st *,?)'

Posted

技术标签:

【中文标题】Openssl,无效参数\'候选者是:int BN_set_word(bignum_st *,?)\'【英文标题】:Openssl, Invalid arguments ' Candidates are: int BN_set_word(bignum_st *, ?) 'Openssl,无效参数'候选者是:int BN_set_word(bignum_st *,?)' 【发布时间】:2012-07-07 13:12:06 【问题描述】:

我在 cuda 项目中使用 OpenSSL。

我刚刚将所有项目从 win 导入到 linux (Eclipse)

我解决了除了这个烦人的错误之外的所有依赖项:

Invalid arguments ' 候选者是:int BN_set_word(bignum_st *, ?) '

对于这一行:

BN_set_word(two, 2);

函数本身在 bn.h 中说明

int BN_set_word(BIGNUM *a, BN_ULONG w);

其中 BN_ULONG 定义为:

#define BN_ULONG    unsigned long

如果我做类似的事情,它也不起作用

unsigned long q = 2;
BN_set_word(two, q);

因为它返回

无效参数' 候选人是: int BN_set_word(bignum_st *, ?) '

BN_ULONG q = 2;
BN_set_word(two, q);

给了

无法解析类型“BN_ULONG”

有什么问题?

【问题讨论】:

【参考方案1】:

听起来你忘了#include <openssl/bn.h>

【讨论】:

@Junbogram 该行出现在包含的标题中。但是问题是来自 Windows 的一些未知的错误配置......我创建了一个新项目并逐个导入并且它有效。我会将您的建议标记为答案,因为无论如何都与此相关,谢谢:)

以上是关于Openssl,无效参数'候选者是:int BN_set_word(bignum_st *,?)'的主要内容,如果未能解决你的问题,请参考以下文章

C ++无效参数,候选者是:来自不同类的Setter上的“..”

使用 openssl/bn.h 将 c++ 痛饮到 python

错误:一元'*'的无效类型参数(有'int')

手动编译OpenSSL:制作共享对象时不能使用符号;用-fPIC重新编译

大于 16 位的线程块的配置参数无效

SQL 参数数据类型 int 对 charindex 函数的参数 1 无效