Я хочу использовать некоторые классы C ++ в разделяемой библиотеке с компоновкой C. И у меня возникли следующие проблемы.
Если
#include <iostream>
extern "C"
{
void f(){}
}
Компилируется и связывается успешно, но f () не может быть найден в полученной библиотеке.
Если
extern "C"
{
#include <iostream>
void f(){}
}
я получал много ошибок компилятора (просто не знаю, как правильно перевести их на английский, что-то о шаблоне с привязкой C) при каждом появлении ключевого слова C ++ "template" в iostream и включенных заголовках.
Что нужно сделать?