The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Проблемы с линковкой .so .a в C++, !*! FrOdO, 15-Авг-03, 13:19  [смотреть все]
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.

Заранее благодарю за ответы.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру