当为x86构建应用程序时,以下代码可以正常工作:
#if defined _WIN32
#define LIB_PRE __declspec(dllexport)
#elif defined __unix__
#define LIB_PRE
#else
#define LIB_PRE __declspec(dllexport)
#endif
但在GCC(ARM)上会出错。我已经发现__declspec(dllexport)在GCC上不能正常工作。如果是这样,那么在GCC(ARM)上该使用什么?
修改如下:
它用于许多类中。例如:
class CJsonValueString : public CJsonValue
{
private:
jstring value;
public:
LIB_PRE CJsonValueString(jstring value);
LIB_PRE CJsonValueString(const CJsonValueString * value);
LIB_PRE jstring ToString() const;
LIB_PRE int ToInt() const;
LIB_PRE int64 ToInt64 () const;
LIB_PRE float ToFloat () const;
LIB_PRE void GetValue(jstring & str) const;
};
__declspec(dllexport)
在MinGW GCC上可以正常工作。 - Kos