GPGMe Question

Daniel Sullivan dansully at
Mon Mar 28 21:47:36 CEST 2011


This is my first posting to this list, I apologize if I am posting to the wrong place.  If this email should be directed to a different email address please let me know and I will make sure to bark up somebody else's tree.

Basically I am having a difficult time troubleshooting a compile error that I am receiving while tying to use gpgme.  Essentially I'm trying to just get my application to initially compile, so I'm not having a problem interacting with the API specifically, per se.   Admittedly I am learning C++ at the same time I am doing this, so I am a newbie in many regards.  Please forgive me for asking a potentially silly question.  For the purposes of this email I've created a small application to re-create the issue I am seeing.  Using NetBeans, I've done the following things to my project;

1) Added the /opt/local/lib/libgpgme.a library file to my project (as a library).
2) Extended my "include" path to include /opt/local/include, which is where the gpgme.h header file is located.

My entire source code looks like this;


#include <cstdlib>
#include <iostream>
#include <locale.h>
#include <gpgme.h>

using namespace std;

int main(int argc, char** argv) {

    setlocale (LC_ALL, "");
    gpgme_check_version (NULL);

    return 0;


>From what I understand, the syntax I am using is correct (

It appears that the line "gpgme_check_version (NULL);"  is causing an issue; if I comment it out the application compiles and executes without warning or error.  The compile error I am getting (full thing is attached), are a whole bunch of undefined symbols, the first of which is; 

Undefined symbols:
  "_gpg_strerror", referenced from:
      _gpgme_strerror in libgpgme.a(error.o)

Now, If I look at the actual gpgme.h header file, it doesn't appear that any of the actual methods that are listed in the compiler error appear in the header file.  Am I supposed to be passing some sort of a flag to the compiler to allow it to continue with unresolved symbols?  Does this question make sense?  Basically I am trying to figure out how all of the attached symbols could possibly be resolved if they do not appear in gpgme.h...

Dan Sullivan
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: gpgme.txt
URL: </pipermail/attachments/20110328/60cb531a/attachment.txt>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ATT00001.txt
URL: </pipermail/attachments/20110328/60cb531a/attachment-0001.txt>

More information about the Gnupg-devel mailing list