ответ "apple apple", как правило, неправильный.
Компилятор C ++ по определению компилирует C ++. Некоторые компиляторы являются компиляторами C / C ++ или поддерживают даже больше языков (GCC приходит на ум). Те могут использовать расширение файла в качестве подсказки, но вы также можете выбрать один конкретный язык. Например. gcc -x c++
выбирает компилятор Gnu C ++, даже для файлов .c.
Что касается существующей библиотеки C, так как у вас есть исходные файлы, которые вы не должны предотвращать искажение имен. Скомпилируйте библиотеку с тем же компилятором, что и ваше приложение. Это делает название искажения идентичным. Инструменты не нужны.
Я также подозреваю, что вы можете подумать, что extern "C"
означает "компилировать как код C". Это не тот случай. Это означает: «скомпилируйте этот код C ++ так, чтобы его внешний интерфейс был совместим с C». Вы по-прежнему получаете все возможности C ++ изнутри.