Правильная компиляция и связывание SQLCipher (SQLite) с включенным расширением ICU.C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Правильная компиляция и связывание SQLCipher (SQLite) с включенным расширением ICU.

Сообщение Anonymous »

Я пытаюсь собрать SQLCipher из исходного кода и связать его с другим проектом в качестве статической библиотеки.
Конфигурация, которую я использую (в основном согласно этой теме). Я получаю все необходимые флаги, выполняя команду «icu-package».

Код: Выделить всё

./configure --enable-tempstore=yes \
CFLAGS="-O3 -DSQLITE_ENABLE_ICU -DSQLITE_HAS_CODEC -DSQLITE_TEMP_STORE=2" \
LDFLAGS="-lcrypto -licuio -licui18n -licuuc -licudata" \
CPPFLAGS="-I/usr/include" && make
Однако связать «sqlite3.o» не удается. Представлен следующий результат

Код: Выделить всё

ld: libs/sqlite3.o: in function `icuLikeCompare':
sqlite3.c:(.text+0x7a5a): undefined reference to `u_foldCase_74'
/usr/bin/ld: sqlite3.c:(.text+0x7a66): undefined reference to `u_foldCase_74'
/usr/bin/ld: libs/sqlite3.o: in function `icuCollationColl':
sqlite3.c:(.text+0x7b45): undefined reference to `ucol_strcoll_74'
/usr/bin/ld: libs/sqlite3.o: in function `icuRegexpFunc':
sqlite3.c:(.text+0x45f36): undefined reference to `uregex_setText_74'
/usr/bin/ld: sqlite3.c:(.text+0x45f4b): undefined reference to `uregex_matches_74'
/usr/bin/ld: sqlite3.c:(.text+0x45f68): undefined reference to `uregex_setText_74'
/usr/bin/ld: sqlite3.c:(.text+0x45fc1): undefined reference to `u_errorName_74'
/usr/bin/ld: sqlite3.c:(.text+0x46084): undefined reference to `uregex_open_74'
/usr/bin/ld: sqlite3.c:(.text+0x460a6): undefined reference to `u_errorName_74'
/usr/bin/ld: sqlite3.c:(.text+0x460d1): undefined reference to `u_errorName_74'
/usr/bin/ld: sqlite3.c:(.text+0x461df): undefined reference to `uregex_close_74'
/usr/bin/ld: libs/sqlite3.o: in function `icuLoadCollation':
sqlite3.c:(.text+0x6a13f): undefined reference to `ucol_open_74'
/usr/bin/ld: sqlite3.c:(.text+0x6a211): undefined reference to `u_errorName_74'
/usr/bin/ld: sqlite3.c:(.text+0x6a297): undefined reference to `ucol_close_74'
/usr/bin/ld: libs/sqlite3.o: in function `icuCaseFunc16':
sqlite3.c:(.text+0x8433d): undefined reference to `u_strToUpper_74'
/usr/bin/ld: sqlite3.c:(.text+0x8437a): undefined reference to `u_errorName_74'
/usr/bin/ld: sqlite3.c:(.text+0x844f1): undefined reference to `u_strToLower_74'
/usr/bin/ld: libs/sqlite3.o: in function `icuRegexpDelete':
sqlite3.c:(.text+0x7b01): undefined reference to `uregex_close_74'
/usr/bin/ld: libs/sqlite3.o: in function `icuCollationDel':
sqlite3.c:(.text+0x7b11): undefined reference to `ucol_close_74'
Чего мне не хватает?

Подробнее здесь: https://stackoverflow.com/questions/784 ... on-enabled
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»