I have a core project which I'm building as a shared library. In one
of the headers, I've defined a simple class shown below:

typedef pthread_mutex_t Mutex;

class CORE_API AutoLock
{
public:
    AutoLock(Mutex& m);
    ~AutoLock();

private:
    AutoLock();
    AutoLock(const AutoLock&);
    AutoLock& operator=(const AutoLock&);

    Mutex m_Mutex;
};

where CORE_API is defined as:

#ifdef CORE_DLL
#define CORE_API    __attribute__ ((dllexport))
#else
#define CORE_API    __attribute__ ((dllimport))
#endif

In the Android.mk for core, I've defined CORE_DLL under LOCAL_CFLAGS.
However, when building, I get the warning:

warning: 'dllimporot' attribute directive ignored

When ndk-build gets to the other project where I want to use the
AutoLock class, I get the error:

error: 'AutoLock::AutoLock()' is private
error: within this context

Why would the compiler ignore the dllexport attribute? I would hope
that once that's fixed, my other project should build and be able to
use the AutoLock class without any problems.  I've also tried adding
the following to LOCAL_LDLIBS in my client project:

-L$(LOCAL_PATH)/../../libs/armeabi -lcore

with no success.

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to