Импорт классов из DLL
От: Аноним  
Дата: 14.01.08 17:10
Оценка:
Как это сделать грамотно?

Я делаю следующим образом:

Взаголовке для программы-пользователя DLL сначала стандартные директивы (как и в заголовке из проекта для DLL):


#ifdef LOG_EXPORTS
#define LOG_API __declspec(dllexport)
#else 
#define LOG_API __declspec(dllimport)
#endif


Затем привожу определение класса:

class LOG_API Log :
    public ofstream
{
public:
     Log(const char* szFn=DEFAULT_LOG_FILE,openmode om=DEFAULT_OPEN_MODE);
     int openLog(const char* szFn=DEFAULT_LOG_FILE,openmode om=DEFAULT_OPEN_MODE);
//    ifstream& operator <<(const char* szMsg); 
//    ifstream& operator <<(unsigned n); 
public:
    void closeLog(); 
    ~Log(void);
};


Но при компиляции в Visual Studio 2005 получаю ошибку:
error C2470: 'Log' : looks like a function definition, but there is no parameter list; skipping apparent body

На строке class LOG_API Log :. Пробовал вместо LOG_API явно указывать __declspec(dllimport) — та же ошибка.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.