Hi ALL.
У меня возникли проблемы с использованием кода С и С++. Пишу библиотеку функций на С, создаю .so (динамическую библиотеку) и пытаюсь вызвать функции из программы на С++. Выдается следующая ошибка:
-----
net_flow_test.o(.text+0x16): In function `main':: undefined reference to `check_true(int)'
collect2: ld returned 1 exit status
-----
int check_true(int); // находится в .so-ке
Если я использую компилятор С, то этой ошибки не выдается и программа компилируется нормально. По программированию в Windows я знаю, что С и С++ компиляторы по разному генерят имена функций в объектных файлах, но в них есть ключевые слова-расширения типа cdecl, чтобы указывать компилятору как генерить имена (с подчеркиванием или без). Аналогичные проблемы возникают если я использую статические библиоте (.a). Как мне выйти из положения?
У меня: gcc 3.2.2, Linux Red Hat 9.0, ядро 2.4.21.
Заранее благодарю за ответы.