Compiler construction D编程:openssl rsa前向引用编译器错误

Compiler construction D编程:openssl rsa前向引用编译器错误,compiler-construction,compiler-errors,openssl,rsa,d,Compiler Construction,Compiler Errors,Openssl,Rsa,D,每当我尝试访问rsa结构中的元素时,就会发生此错误。有什么想法吗?我不确定OpenSSL绑定是否已经完成或测试。他们在这里的DMD2.057上完全崩溃了。最初的问题是一个dmdbug;在另一个opensslimport之前移动import deimos.openssl.rsa,应该会将错误更改为其他错误。这可以通过在受影响的模块中导入pkcs7来解决…这会发现另一个错误 我想打开一个关于openssl deimos项目的问题。我不确定openssl绑定是否完成或测试。他们在这里的DMD2.057

每当我尝试访问rsa结构中的元素时,就会发生此错误。有什么想法吗?

我不确定OpenSSL绑定是否已经完成或测试。他们在这里的DMD2.057上完全崩溃了。最初的问题是一个
dmd
bug;在另一个
openssl
import
之前移动
import deimos.openssl.rsa
,应该会将错误更改为其他错误。这可以通过在受影响的模块中导入pkcs7来解决…这会发现另一个错误


我想打开一个关于openssl deimos项目的问题。

我不确定openssl绑定是否完成或测试。他们在这里的DMD2.057上完全崩溃了。最初的问题是一个
dmd
bug;在另一个
openssl
import
之前移动
import deimos.openssl.rsa
,应该会将错误更改为其他错误。这可以通过在受影响的模块中导入pkcs7来解决…这会发现另一个错误


我将在openssl deimos项目上发表一篇文章。

我与一位经常在github上更新openssl deimos的人取得了联系,并得到了他的回复

基本上,OpenSSL C API forward在一些不需要精确定义的地方声明了结构,这些结构在一些D模块中已经存在

他请求拉入存储库,他所做的更改将修复您当前的问题。以下是链接:


我与一位经常在github上更新OpenSSL Deimos的人取得了联系,并得到了他的回复

基本上,OpenSSL C API forward在一些不需要精确定义的地方声明了结构,这些结构在一些D模块中已经存在

他请求拉入存储库,他所做的更改将修复您当前的问题。以下是链接:


您使用什么命令编译程序?您使用什么命令编译程序?
import std.stdio;
import deimos.openssl.bn;
import deimos.openssl.rsa;

const KEY_SIZE = 1024;

void main(string[] args) {
    if (args.length < 1) {
        writeln("too few arguments");
    }

    RSA* rsa = RSA_new();
    rsa = RSA_generate_key(KEY_SIZE, RSA_F4, null, null);
    if(rsa==null) {
        writeln("failure");
    }
    else {
        writeln("success");

        // error generated by the line below
        if(!BN_generate_prime(rsa.p, (KEY_SIZE/2), 1, null, null, null, null)) {
            writeln("prime_failure");
        }
        else {
            writeln("prime success");
        }

        RSA_free(rsa);
    }   
}
rsa.d(21): Error: struct rsa_st is forward referenced