Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/18: Рейтинг темы: голосов - 18, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 9

undefined reference to `SQLFreeHandle'

31.01.2011, 10:35. Показов 3740. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нашел интересную обертку для ODBC - OTL - 1 заголовочный файл
Пытаюсь скомпилировать простую программу

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#define OTL_ODBC_UNIX
#include <otlv4.h>
 
 
using namespace std;
 
int main()
    {
 
        otl_connect db;
        return 0;
 
    }
на что компилятор говорит:

/tmp/cc2XQds4.o: In function `otl_conn::~otl_conn()':
odbc.cpp:(.text._ZN8otl_connD1Ev[otl_conn::~otl_conn()]+0x53): undefined reference to `SQLFreeHandle'
odbc.cpp:(.text._ZN8otl_connD1Ev[otl_conn::~otl_conn()]+0x86): undefined reference to `SQLFreeHandle'
/tmp/cc2XQds4.o: In function `otl_conn::~otl_conn()':
odbc.cpp:(.text._ZN8otl_connD0Ev[otl_conn::~otl_conn()]+0x53): undefined reference to `SQLFreeHandle'
odbc.cpp:(.text._ZN8otl_connD0Ev[otl_conn::~otl_conn()]+0x86): undefined reference to `SQLFreeHandle'
/tmp/cc2XQds4.o: In function `otl_conn::logoff()':
odbc.cpp:(.text._ZN8otl_conn6logoffEv[otl_conn::logoff()]+0x48): undefined reference to `SQLDisconnect'
/tmp/cc2XQds4.o: In function `otl_conn::error(otl_exc&)':
odbc.cpp:(.text._ZN8otl_conn5errorER7otl _exc[otl_conn::error(otl_exc&)]+0x60): undefined reference to `SQLGetDiagRec'
/tmp/cc2XQds4.o: In function `otl_conn::commit()':
odbc.cpp:(.text._ZN8otl_conn6commitEv[otl_conn::commit()]+0x20): undefined reference to `SQLEndTran'


Что и как нужно сделать, что бы программа с компилировалась и заработала?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.01.2011, 10:35
Ответы с готовыми решениями:

ошибка undefined reference to
Всем привет! подскажите, пожалуйста, почему выскакивает ошибка: undefined reference to `Thread::setCompleted()' collect2: ld...

Undefined reference при линковке
Здравствуйте, делал реализацию очереди на плюсах. Создал отдельный хедер и исходник для очереди. Пытался через make собрать, но на линковке...

Undefined reference в template (Code::Blocks)
Есть шаблонны класс Deque (очередь с двумя концами): template &lt;class Type&gt; class Deque { Type *arr; int dimension; ...

12
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
31.01.2011, 14:30
забыли прилинковать библиотеку ODBC драйвера
0
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 9
31.01.2011, 14:43  [ТС]
Как ее прилинковать?
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
31.01.2011, 15:12
G1yyk, -lНАЗВАНИЕ_БИБЛИОТЕКИ
1
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
31.01.2011, 23:47
а -LPath не обязательно писать или взависимости от конкретного случая?
если второе, можно привести примеры таких случаев?
1
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
31.01.2011, 23:51
lifestyle, путь к либам нужно указывать в тех случаях, если эти либы не установлены как положено.
2
0 / 0 / 0
Регистрация: 27.01.2011
Сообщений: 9
01.02.2011, 07:35  [ТС]
в папке /usr/lib нашел вот такие либы

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
-rw-r--r--   1 root root   533176 Дек 22 00:42 libiodbc.a
-rw-r--r--   1 root root   468232 Дек 22 00:42 libiodbcadm.a
-rw-r--r--   1 root root     1642 Дек 22 00:42 libiodbcadm.la
lrwxrwxrwx   1 root root       21 Дек 22 00:42 libiodbcadm.so -> libiodbcadm.so.2.1.19
lrwxrwxrwx   1 root root       21 Дек 22 00:42 libiodbcadm.so.2 -> libiodbcadm.so.2.1.19
-rwxr-xr-x   1 root root   284104 Дек 22 00:42 libiodbcadm.so.2.1.19
-rw-r--r--   1 root root   115420 Дек 22 00:42 libiodbcinst.a
-rw-r--r--   1 root root      955 Дек 22 00:42 libiodbcinst.la
lrwxrwxrwx   1 root root       22 Дек 22 00:42 libiodbcinst.so -> libiodbcinst.so.2.1.19
lrwxrwxrwx   1 root root       22 Дек 22 00:42 libiodbcinst.so.2 -> libiodbcinst.so.2.1.19
-rwxr-xr-x   1 root root    68492 Дек 22 00:42 libiodbcinst.so.2.1.19
-rw-r--r--   1 root root      927 Дек 22 00:42 libiodbc.la
lrwxrwxrwx   1 root root       18 Дек 22 00:42 libiodbc.so -> libiodbc.so.2.1.19
lrwxrwxrwx   1 root root       18 Дек 22 00:42 libiodbc.so.2 -> libiodbc.so.2.1.19
-rwxr-xr-x   1 root root   306440 Дек 22 00:42 libiodbc.so.2.1.19
-rw-r--r--   1 root root   490160 Янв 31 10:30 libodbc++.a
-rw-r--r--   1 root root      963 Дек 22 00:41 libodbccr.la
lrwxrwxrwx   1 root root       18 Дек 22 00:41 libodbccr.so -> libodbccr.so.1.0.0
lrwxrwxrwx   1 root root       18 Дек 22 00:41 libodbccr.so.1 -> libodbccr.so.1.0.0
-rwxr-xr-x   1 root root    34028 Дек 22 00:41 libodbccr.so.1.0.0
-rw-r--r--   1 root root      995 Дек 22 00:40 libodbcinst.la
lrwxrwxrwx   1 root root       20 Дек 22 00:41 libodbcinst.so -> libodbcinst.so.1.0.0
lrwxrwxrwx   1 root root       20 Дек 22 00:41 libodbcinst.so.1 -> libodbcinst.so.1.0.0
-rwxr-xr-x   1 root root    60332 Дек 22 00:41 libodbcinst.so.1.0.0
-rw-r--r--   1 root root      971 Дек 22 00:40 libodbc.la
-rw-r--r--   1 root root      816 Янв 31 10:30 libodbc++.la
-rw-r--r--   1 root root   506538 Янв 31 10:30 libodbc++-mt.a
-rw-r--r--   1 root root      847 Янв 31 10:30 libodbc++-mt.la
lrwxrwxrwx   1 root root       21 Янв 31 10:30 libodbc++-mt.so -> libodbc++-mt.so.4.0.0
lrwxrwxrwx   1 root root       21 Янв 31 10:30 libodbc++-mt.so.4 -> libodbc++-mt.so.4.0.0
-rwxr-xr-x   1 root root   346760 Янв 31 10:30 libodbc++-mt.so.4.0.0
lrwxrwxrwx   1 root root       16 Дек 22 00:41 libodbc.so -> libodbc.so.1.0.0
lrwxrwxrwx   1 root root       18 Янв 31 10:30 libodbc++.so -> libodbc++.so.4.0.0
lrwxrwxrwx   1 root root       16 Дек 22 00:41 libodbc.so.1 -> libodbc.so.1.0.0
-rwxr-xr-x   1 root root   427508 Дек 22 00:41 libodbc.so.1.0.0
lrwxrwxrwx   1 root root       18 Янв 31 10:30 libodbc++.so.4 -> libodbc++.so.4.0.0
-rwxr-xr-x   1 root root   338516 Янв 31 10:30 libodbc++.so.4.0.0
-rw-r--r--   1 root root   509162 Янв 26 15:56 libtdsodbc.a
-rw-r--r--   1 root root      975 Янв 26 15:56 libtdsodbc.la
lrwxrwxrwx   1 root root       19 Янв 26 15:56 libtdsodbc.so -> libtdsodbc.so.0.0.0
lrwxrwxrwx   1 root root       19 Янв 26 15:56 libtdsodbc.so.0 -> libtdsodbc.so.0.0.0
-rwxr-xr-x   1 root root   325200 Янв 26 15:56 libtdsodbc.so.0.0.0
lrwxrwxrwx   1 root root       25 Янв 31 14:37 libwx_baseu_odbc-2.8.so -> libwx_baseu_odbc-2.8.so.0
lrwxrwxrwx   1 root root       29 Янв 31 14:37 libwx_baseu_odbc-2.8.so.0 -> libwx_baseu_odbc-2.8.so.0.7.0
-rwxr-xr-x   1 root root   124952 Янв 31 14:37 libwx_baseu_odbc-2.8.so.0.7.0
Делаю так

c++ -L/usr/lib/ -llibodbc.so odbc.cpp -o odbc -v

на что компилятор выдает : cannot find -lllibodbc.so

и так на все библиотеки. Какую библиотеку нужно? и как ее установить?
Спасибо.
0
Эксперт С++
 Аватар для Nameless One
5828 / 3479 / 358
Регистрация: 08.02.2010
Сообщений: 7,448
01.02.2011, 11:26
Цитата Сообщение от G1yyk Посмотреть сообщение
Делаю так
c++ -L/usr/lib/ -llibodbc.so odbc.cpp -o odbc -v
на что компилятор выдает : cannot find -lllibodbc.so
libNAME.so => -lNAME
Т.е., тебе надо писать -lodbc
0
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
01.02.2011, 12:53
Цитата Сообщение от niXman Посмотреть сообщение
lifestyle, путь к либам нужно указывать в тех случаях, если эти либы не установлены как положено.
что значит как положенно? у меня допустим буст стоит в /usr/local/lib
и без -L не компилится, как нужно в таком случае?
есть случаи когда можно избежать -l ?
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
01.02.2011, 13:53
Цитата Сообщение от lifestyle Посмотреть сообщение
у меня допустим буст стоит в /usr/local/lib
и без -L не компилится
у меня там же. но путь указывать не нужно. почитай "man ld.so"
буст из репозитария, или сам собирал?
0
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
01.02.2011, 14:07
Цитата Сообщение от niXman Посмотреть сообщение
у меня там же. но путь указывать не нужно. почитай "man ld.so"
буст из репозитария, или сам собирал?
сам, а без указания пути не компилится (пользуюсь эклипсом)
впринципе тоже самое и с openCV
0
Эксперт С++
 Аватар для niXman
3211 / 1459 / 74
Регистрация: 09.08.2009
Сообщений: 3,441
Записей в блоге: 2
01.02.2011, 15:31
Цитата Сообщение от lifestyle Посмотреть сообщение
сам
"sudo ldconfig" выполни
1
Mobile Developer
 Аватар для lifestyle
238 / 234 / 18
Регистрация: 10.05.2009
Сообщений: 917
01.02.2011, 23:58
будем разбираться
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.02.2011, 23:58
Помогаю со студенческими работами здесь

Undefined reference to `operator new[](unsigned int)'
Пишу программу на c++, компилирую в gcc 4.8.2. Строка: int* a = new int; приводит к ошибке при компиляции: /tmp/cctgidZP.o: In...

При линковке: Undefined reference to std::count
Написал простейшую программу на c++: #include &lt;iostream&gt; void _start(){ std::cout &lt;&lt; &quot;trol&quot;; } Скомпилировал в...

main.cpp:37: undefined reference to `NMEAParser::ParserBuffer(unsigned char*)
вот написал сие творение (код ниже) выдает ошибку компиляции main.cpp:37: undefined reference to `NMEAParser::ParserBuffer(unsigned char*)...

Почему происходит ошибка undefined reference to hgeCreate
Всем привет. Я новичок по C++ и недавно решил освоить разработку игр. Скачал с интернета 2D движок для графики HGE, однако никак не могу...

Ошибка undefined reference при запуске программы с sfml
Всем привет! Решил попробовать данную либу (читал статейку на хабре и решил запустить простой пример), но при запуске ошибки говорят что не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru