Связывание C и заголовки C ++

Я хочу использовать некоторые классы C ++ в разделяемой библиотеке с компоновкой C. И у меня возникли следующие проблемы.

Если

#include <iostream>
extern "C"
{
 void f(){}
}

Компилируется и связывается успешно, но f () не может быть найден в полученной библиотеке.

Если

extern "C"
{
#include <iostream>
 void f(){}
}

я получал много ошибок компилятора (просто не знаю, как правильно перевести их на английский, что-то о шаблоне с привязкой C) при каждом появлении ключевого слова C ++ "template" в iostream и включенных заголовках.

Что нужно сделать?

0
задан Lightness Races in Orbit 11 January 2012 в 10:21
поделиться