Кто нибудь знает как подключить библиотеку написанную на С к проекту написанному на С++. Есть только хедеры и либы. Проблема в том что структуры описанные в библиотеке не компилируются в С++. extern Pragma "С" не помагает...
... << RSDN@Home 1.1.3 stable >>
22.09.04 21:04: Оставлено модератором в 'C/C++' — Павел Кузнецов
extern "C"
{
#include "your_c_header_file.h"
}
Все переменные и функции запускаются макрсом 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 >>
Здравствуйте, ilnar, Вы писали:
I>Здравствуйте, yorick, Вы писали:
Y>>Кто нибудь знает как подключить библиотеку написанную на С к проекту написанному на С++. Есть только хедеры и либы. Проблема в том что структуры описанные в библиотеке не компилируются в С++. extern Pragma "С" не помагает...
I>код в студию
MSDEV 6 хотя написан для поддержки маковской платформы это QuarkXNT-development-kit может быть кто нибудь уже работал с этим.....
... << RSDN@Home 1.1.3 stable >>