The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"Проблемы с линковкой .so .a в C++"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"Проблемы с линковкой .so .a в C++"
Сообщение от FrOdO emailИскать по авторуВ закладки on 15-Авг-03, 13:19  (MSK)
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.

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

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "Проблемы с линковкой .so .a в C++"
Сообщение от asso Искать по авторуВ закладки on 15-Авг-03, 14:07  (MSK)
В начале своего .h файла напиши

#ifdef __cplusplus
extern "C" {
#endif

а в конце соответственно

#ifdef __cplusplus
}
#endif

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




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

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