Форум программистов «Весельчак У»
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
Начало
Наши сайты
Галерея
Весельчак У
Наша Вики
Хранилище
Проекты
Правила
Правила форума
Правила русского языка
Помощь
Поиск
Календарь
Почта
Войти
Регистрация
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
C/C++ Unix
(Модератор:
Вад
) > Тема:
KDevelop & library
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: KDevelop & library (Прочитано 10157 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Estagus
Гость
KDevelop & library
«
:
29-08-2004 04:16 »
У меня есть проблемка...
Я начал писать небольшую прогу используя KDevelop 3.0.4 (C++) и библиотеку ipq.
У меня не компилится, т.к. "undefined reference to `ipq_perror(char const*)"...
И так на каждой функции из libipq...
(
Вроде включил -lipq. include стоит... Что может быть не так?
Прошу помощи у спецов.
З.Ы.:
Просьба не предлагать использовать другие среды разработки.
Записан
Estagus
Гость
KDevelop & library
«
Ответ #1 :
29-08-2004 04:22 »
Команда, на которой падает:
g++ -I/usr/include -g -O2 -o traffic_acc -static traffic_acc.o listener.o globals.o -lipq
*traffic_acc.o(.text+0x1b): In function `main':
*/home/wizard/PROGS/traffic_acc/src/traffic_acc.cpp:73: undefined reference to `ipq_perror(char const*)'
*collect2: ld returned 1 exit status
Записан
npak
Команда клуба
Offline
Пол:
KDevelop & library
«
Ответ #2 :
30-08-2004 09:13 »
Estagus
, попробуй у себя в сорсах убрать
Код:
#include "libipq.h"
вместо этого сделать такое объявление
Код:
extern "C" void ipq_perror(const char *s);
У них в заголовках отсутствует поддержка С++, поэтому компилятор меняет имя в соответствии с правилами name mangling. надо самому сделать объявления функций из libipq, обернув их в
Код:
extern "C" { ... }
Может быть, поможет такой код (но я не уверен):
Код:
extern "C" {
#include "libipq.h"
}
«
Последнее редактирование: 30-11-2007 23:46 от Алексей1153++
»
Записан
UniTesK -- индустриальная технология надежного тестирования.
http://www.unitesk.com/ru/
Антон (LogRus)
Глобальный модератор
Offline
Пол:
Внимание! Люблю сахар в кубиках!
KDevelop & library
«
Ответ #3 :
30-08-2004 09:23 »
Estagus
, я с ентим делом не работал. Ну, что могу по советовать попробуй сменить позицию -lipq например вот так
g++ -I/usr/include -g -O2 -o traffic_acc -static -lipq traffic_acc.o listener.o globals.o
или так сделай так
g++ -I/usr/include -g -O2 -o traffic_acc -static /usr/lib/libipq.a traffic_acc.o listener.o globals.o /usr/lib/libipq.a
или еще как вот по этой ссылке
http://lists.netfilter.org/pipermail/netfilter/2002-December/040530.html
можно глянуть как человек компилирует программу с ipq правда он там решает другую проблему
Записан
Странно всё это....
Антон (LogRus)
Глобальный модератор
Offline
Пол:
Внимание! Люблю сахар в кубиках!
KDevelop & library
«
Ответ #4 :
30-08-2004 09:25 »
npak
, а я и забыл про такие дела.
Записан
Странно всё это....
Estagus
Гость
KDevelop & library
«
Ответ #5 :
30-08-2004 22:17 »
Всем спасибо. Я уже сам...
)
Просто туплю...
Надо было:
extern "C" {
#include "libipq.h"
}
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Форум программистов «Весельчак У»
>
Программирование
>
C/C++
>
C/C++ Unix
(Модератор:
Вад
) > Тема:
KDevelop & library
Загружается...