Я пытаюсь создать статическую библиотеку, которая содержит функции C и C ++, а затем использовать эту библиотеку в среде C. Согласно Используя библиотеку C ++ в коде C , я обертываю функции C вокруг функций C ++.
Makefile для библиотеки использует "ar -rvs libNAMEX.a $ (OBJECTS)", где OBJECTS содержит объектные файлы, скомпилированные gcc или g ++ в зависимости от типа (версия GCC 4.4.1).
Я не сталкиваюсь с ошибками при сборке библиотеки. Но когда я пытаюсь скомпилировать файл C (с кросс-скомпилированной версией GCC 4.5.1), который использовал библиотеку: "gcc -L [PATH TO libNAMEX.a] -lNAMEX ... c_source.c", это дает ошибки, связанные с расширениями C ++ (т. е. «неопределенная ссылка на operator new(unsigned long)", "undefined reference to
std :: allocator :: ~ allocator () '»).
Есть ли способ обойти эту проблему?