Re[2]: запуск функций С из С ++
От: yorick  
Дата: 09.09.04 10:55
Оценка:
Все переменные и функции запускаются макрсом XT_GLOBAL
а функции описываются макросами приблизительно так..

/* XTensionized (xtgetsettext_funcrec) routines structure */
typedef struct {
int16 (XTAPI *_xtgetxetstuff)(textboxid,uint32 *,trechandle *);
...
...
...
} xtgetsettext_funcrec;

....
...
/* xtgetsettext_funcrec macros */
#if USE_GETSETTEXT_FUNC_GROUP
#define xtgetxetstuff ((**xtgetsettext_funchndl)._xtgetxetstuff)
...
...
#endif

#define XT_GLOBALS \
VAR_GETSETTEXT_FUNC_GROUP \
...
...
В исходникеи проекта идет XT_GLOBALS (если компилировать на с то все нормально)
а с++ на это выдает unresolved link... если убираю пишет

error C2065: 'xtgetsettext_funchndl' : undeclared identifier
error C2100: illegal indirection
error C2100: illegal indirection

extern "C" пробовал не катит....
и еше если добавляю новый файл на с++ и пишу макрос XT_GLOBALS
пишет Redefinition .... без макроса вообще функции и пременные не видны..
... << RSDN@Home 1.1.3 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.