LinuxForum.Fans
Тема

Помогите разобраться с GCC

Автор: DenSA 3 сообщений 1224 просмотров
#201694

Добрый день!
Программисты помогите разобраться: пишу программу на Си для обработки базы данных на Sqlite3.
Пока была система Ubuntu 11.04 и gcc-4.5.. все компилиилось нормально.
После обновления до 11.10 и gcc-4.6 - перестало, такое впечатление что линковщик перестал видеть библиотеку, вот сообщение при компиляции:
[console]densa$ gcc -lsqlite3 perenos_v_sqlite.c
/tmp/ccwnyUwz.o: In function `main':
perenos_v_sqlite.c:(.text+0x2d): undefined reference to `sqlite3_open'
perenos_v_sqlite.c:(.text+0x44): undefined reference to `sqlite3_errmsg'
perenos_v_sqlite.c:(.text+0x61): undefined reference to `sqlite3_close'
perenos_v_sqlite.c:(.text+0x340): undefined reference to `sqlite3_exec'
perenos_v_sqlite.c:(.text+0x36c): undefined reference to `sqlite3_free'
perenos_v_sqlite.c:(.text+0x3f8): undefined reference to `sqlite3_close'
collect2: ld returned 1 exit status[/console]
причем, если не добавлять -lsqlite3 - получаеться тоже самое.

P.S. В програмировании на Си под линух новичок, если какие еще данные нужны - подскажите, выложу.
Всем спасибо.

#201722

Добрый день.
Да, линковщик не находит библиотеку. Необходимо найти библиотеку и добавить в пути поиска каталог, где она лежит: man ldconfig или через флаг -L компилятора. И возможно проблема в том, что: gcc -lsqlite3 perenos_v_sqlite.c заменить на: gcc perenos_v_sqlite.c -lsqlite3

#201770

Добрый день!
Огромное спасибо, достаточно оказалось поменять местами gcc -lsqlite3 perenos_v_sqlite.c на: gcc perenos_v_sqlite.c -lsqlite3 :D :D :D
Вот только не пойму в чем прикол? :O

Войдите или зарегистрируйтесь, чтобы ответить.