我正在尝试使用 libgcrypt 的 .vapi 编译在 Vala 中编写的代码。我在系统中安装了库,并在 c 中运行了一个测试。用 C 编写的代码编译时没有错误:我输入了以下命令来编译 C 代码:
gcc -o main main.c -l gcrypt
代码运行完美。
但是,以下用 Vala 编写的代码不能使用命令编译:
valac --pkg gcrypt --Xcc=-lgcrypt main.vala
main.vala 是
using GCrypt;
public static int main(string[] args)
{
Hash h;
Hash.open(out h, Hash.Algorithm.MD5, Hash.Flag.SECURE);
return 0;
}
我不知道我做错了什么。
编辑:很抱歉没有发布错误,但有:
Loaded package /usr/share/vala-0.30/vapi/glib-2.0.vapi'
Loaded package /usr/share/vala-0.30/vapi/gobject-2.0.vapi'
Loaded package /usr/share/vala-0.30/vapi/gcrypt.vapi'
cc -o '/home/kyul/Documents/Codes/Vala/test_gcrypt/main' '/home/kyul/Documents/Codes/Vala/test_gcrypt/main.vala.c' -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -lgobject-2.0 -lglib-2.0 '-lgcrypt'
/home/kyul/Documents/Codes/Vala/test_gcrypt/main.vala.c: In function ‘_vala_main’:
/home/kyul/Documents/Codes/Vala/test_gcrypt/main.vala.c:22:38: error: ‘GCRY_MD_FLAGSECURE’ undeclared (first use in this function)
gcry_md_open (&_tmp0_, GCRY_MD_MD5, GCRY_MD_FLAGSECURE);
^
/home/kyul/Documents/Codes/Vala/test_gcrypt/main.vala.c:22:38: note: each undeclared identifier is reported only once for each function it appears in
error: cc exited with status 256
Compilation failed: 1 error(s), 0 warning(s)