проблемы сцепления на GCC на Ubuntu 11 - PullRequest
1 голос
/ 18 марта 2012

Я мигрирую с Ubuntu 10.04 на Ubuntu 11.10 (oneiric), но у меня возникают проблемы при попытке скомпилировать некоторые приложения, которые отлично работают на Ubuntu 10.04, без изменений.

Я установил библиотеки sqlite3 и unac, которые я использую в Ubuntu 10.4. Я установил с помощью следующих команд:

sudo su
apt-get install libunac1-dev
apt-get install sqlite3
apt-get install libsqlite3-dev

но когда я запускаю: gcc -Wall -lsqlite3 -lunac -Werror -O2 -o ILD.out ILD.c

Я получаю следующие ошибки:

/tmp/cceRDsMZ.o: In function `removediacritics':
ILD.c:(.text+0x1ae): undefined reference to `unac_string'
/tmp/cceRDsMZ.o: In function `main':
ILD.c:(.text.startup+0x1a): undefined reference to `sqlite3_open'
ILD.c:(.text.startup+0x6c): undefined reference to `sqlite3_prepare_v2'
ILD.c:(.text.startup+0x80): undefined reference to `sqlite3_step'
ILD.c:(.text.startup+0x98): undefined reference to `sqlite3_column_text'
ILD.c:(.text.startup+0xb0): undefined reference to `sqlite3_step'
ILD.c:(.text.startup+0xc1): undefined reference to `sqlite3_finalize'
ILD.c:(.text.startup+0xcd): undefined reference to `sqlite3_close'
ILD.c:(.text.startup+0x10c): undefined reference to `sqlite3_close'
ILD.c:(.text.startup+0x120): undefined reference to `sqlite3_errmsg'
ILD.c:(.text.startup+0x144): undefined reference to `sqlite3_close'
collect2: ld returned 1 exit status

Моя версия GCC: gcc 4.6.1 (Ubuntu/Linaro 4.6.1-9ubuntu3)

Понятия не имею, как это исправить.

1 Ответ

7 голосов
/ 19 марта 2012

Всегда передавать параметры библиотеки после c или файлов.

Тот факт, что вам не нужно было раньше, был нестандартной ошибкой.

...