У меня есть общая библиотека (в C++), которая имеет функцию foo() (объявленную как extern c), которая вызывается функцией в проекте в C, которая скомпилирована automake. поэтому я hv makefile.am, который направляет на include.am, где я добавил имя и расположение моей библиотеки /../Release/lib/libabc.so к переменной xyz_LDADD, точно у меня есть xyz_LDADD = libabc.soundefined reference with automake
декларация обув выглядит следующим образом:
#ifdef __cplusplus
extern "C" {
#endif
void foo(void);
#ifdef __cplusplus
}
#endif
, когда я пытаюсь сделать, я получаю неопределенную ссылку на обув ошибки().
Если я изменю имя d библиотеки abc, я получаю сообщение об ошибке, поэтому я предполагаю, что компилятор сможет найти библиотеку.
У меня также есть некоторые статические библиотеки, которые работают нормально. Может кто-нибудь помочь пожалуйста .. Заранее спасибо
Вы пробовали: 'xyz_LDADD = -L /../ Release/lib/-labc'? (обычно вы не ставите полное имя библиотеки, просто часть после «lib» и до «.so». – Galik
да, я пробовал, не работает :(еще неопределенная ошибка ссылки :(любые другие предложения, пожалуйста? – deesha