D interface for C library problems

Oleg gaolong at i.ua
Mon Oct 15 04:37:20 PDT 2012


Hello everyone.

I creating interface for gpgme 
(http://www.gnupg.org/related_software/gpgme/) and have several 
problems:

1. Library have variable with D keyword name:
/* The version string of the installed engine.  */
   char *version;

How can I create this variable in D interface?

2. Have an error in static function:
gpgme_err_code_t gpgme_err_code_from_syserror (void);

static inline gpgme_error_t
gpgme_error_from_syserror (void)
{
   return gpgme_error (gpgme_err_code_from_syserror ());
}

When I write D code like this:

gpgme_err_code_t gpgme_err_code_from_syserror();

gpgme_error_t gpgme_error_from_syserror() {
    return gpgme_error(gpgme_err_code_from_syserror());
}

I got error:

In function `gpgme_error_from_syserror':
src/main.d:(.text.gpgme_error_from_syserror+0x5): undefined 
reference to `gpgme_err_code_from_syserror'
--- errorlevel 1
collect2: ld returned 1 exit status

Anyone knows how to fix this?

Thanks and sorry for my English.


More information about the Digitalmars-d mailing list