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