Мне нужно связать две библиотеки, скажем A и B. Некоторые из файлов являются общими в обеих библиотеках. Итак, я объявляю функции в библиотеке A внутри пространства имен, например abc. Итак, в и B функция func выглядит следующим образом:
[ in A]
namespace abc {
extern "C" void func();
}
[in B]
extern "C" void func();
При создании проекта компилятор выдает ссылки на ошибки, говорящие о нескольких определениях функции func. Не является ли функция func в внутри пространства имен или существует некоторая проблема с внешними "C" функциями. Если есть, то как я могу их отличить?