On 2012-10-15 13:37, Oleg wrote:

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.

You need to declare all functions you want to use from C as:

extern (C) gpgme_err_code_t gpgme_err_code_from_syserror();

Then you also need to link with the C library.

http://dlang.org/interfaceToC.html

--
/Jacob Carlborg

Reply via email to