Михаиллл
19 декабря 2018 г. 14:43

Как подключить ICU

Qt, ICU, SQLite

Здравствуйте.
Говорят, если подключить ICU, то в SQLite появится регистронезависемый поиск.
Я нашел скомпилированный ICU по этой ссылке https://www.npcglib.org/~stathis/blog/precompiled-icu/
Скажите пожалуйста, как это правильно подключить в проект?

2

Вам это нравится? Поделитесь в социальных сетях!

3
Evgenii Legotckoi
  • 20 декабря 2018 г. 14:51

Добрый день!

По идее, всё это добро можно подключить например так (это для подключения статических библиотек),

  1. win32:CONFIG(release, debug|release): LIBS += -L$$PWD/icu-59.1-vs2017/lib/ -lsicudt
  2. else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/icu-59.1-vs2017/lib/ -lsicudtd
  3.  
  4. INCLUDEPATH += $$PWD/icu-59.1-vs2017/include
  5. DEPENDPATH += $$PWD/icu-59.1-vs2017/include
  6.  
  7. win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/libsicudt.a
  8. else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/libsicudtd.a
  9. else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/sicudt.lib
  10. else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/sicudtd.lib
  11.  
  12. win32:CONFIG(release, debug|release): LIBS += -L$$PWD/icu-59.1-vs2017/lib/ -lsicuin
  13. else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/icu-59.1-vs2017/lib/ -lsicuind
  14.  
  15. INCLUDEPATH += $$PWD/icu-59.1-vs2017/include
  16. DEPENDPATH += $$PWD/icu-59.1-vs2017/include
  17.  
  18. win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/libsicuin.a
  19. else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/libsicuind.a
  20. else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/sicuin.lib
  21. else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/sicuind.lib
  22.  
  23. win32:CONFIG(release, debug|release): LIBS += -L$$PWD/icu-59.1-vs2017/lib/ -lsicuio
  24. else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/icu-59.1-vs2017/lib/ -lsicuiod
  25.  
  26. INCLUDEPATH += $$PWD/icu-59.1-vs2017/include
  27. DEPENDPATH += $$PWD/icu-59.1-vs2017/include
  28.  
  29. win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/libsicuio.a
  30. else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/libsicuiod.a
  31. else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/sicuio.lib
  32. else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/sicuiod.lib
  33.  
  34. win32:CONFIG(release, debug|release): LIBS += -L$$PWD/icu-59.1-vs2017/lib/ -lsicutest
  35. else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/icu-59.1-vs2017/lib/ -lsicutestd
  36.  
  37. INCLUDEPATH += $$PWD/icu-59.1-vs2017/include
  38. DEPENDPATH += $$PWD/icu-59.1-vs2017/include
  39.  
  40. win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/libsicutest.a
  41. else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/libsicutestd.a
  42. else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/sicutest.lib
  43. else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/sicutestd.lib
  44.  
  45. win32:CONFIG(release, debug|release): LIBS += -L$$PWD/icu-59.1-vs2017/lib/ -lsicutu
  46. else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/icu-59.1-vs2017/lib/ -lsicutud
  47.  
  48. INCLUDEPATH += $$PWD/icu-59.1-vs2017/include
  49. DEPENDPATH += $$PWD/icu-59.1-vs2017/include
  50.  
  51. win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/libsicutu.a
  52. else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/libsicutud.a
  53. else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/sicutu.lib
  54. else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/sicutud.lib
  55.  
  56. win32:CONFIG(release, debug|release): LIBS += -L$$PWD/icu-59.1-vs2017/lib/ -lsicuuc
  57. else:win32:CONFIG(debug, debug|release): LIBS += -L$$PWD/icu-59.1-vs2017/lib/ -lsicuucd
  58.  
  59. INCLUDEPATH += $$PWD/icu-59.1-vs2017/include
  60. DEPENDPATH += $$PWD/icu-59.1-vs2017/include
  61.  
  62. win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/libsicuuc.a
  63. else:win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/libsicuucd.a
  64. else:win32:!win32-g++:CONFIG(release, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/sicuuc.lib
  65. else:win32:!win32-g++:CONFIG(debug, debug|release): PRE_TARGETDEPS += $$PWD/icu-59.1-vs2017/lib/sicuucd.lib

Вообще в Qt Creator есть визард для подключения библиотек. Кликаете на проект правой кнопкой мыши и выбираете в контекстном меню "Добавить библиотеку", а там дальше внешнюю, статическую и т.д.

Я только не уверен, что это будет работать автоматически. Не удивлюсь, если нужно гонять данные через этот самый ICU, просто подключить скорее всего будет мало.

    Михаиллл
    • 20 декабря 2018 г. 16:18

    я тоже этого боюсь.
    из ICU вместе с драйверами компилируют новый драйвер и тогда оно иногда работает, но вот как это сделать, я пока не понял.

      Evgenii Legotckoi
      • 20 декабря 2018 г. 16:39

      ну... тут нужно поискать какие-то мануалы по компилированию самого драйвера SQLite тогда. Это интересный вопрос, но лично я им не занимался никогда.

        Комментарии

        Только авторизованные пользователи могут публиковать комментарии.
        Пожалуйста, авторизуйтесь или зарегистрируйтесь
        • Последние комментарии
        • Evgenii Legotckoi
          16 апреля 2025 г. 17:08
          Благодарю за отзыв. И вам желаю всяческих успехов!
        • IscanderChe
          12 апреля 2025 г. 17:12
          Добрый день. Спасибо Вам за этот проект и отдельно за ответы на форуме, которые мне очень помогли в некоммерческих пет-проектах. Профессиональным программистом я так и не стал, но узнал мно…
        • AK
          1 апреля 2025 г. 11:41
          Добрый день. В данный момент работаю над проектом, где необходимо выводить звук из программы в определенное аудиоустройство (колонки, наушники, виртуальный кабель и т.д). Пишу на Qt5.12.12 поско…
        • Evgenii Legotckoi
          9 марта 2025 г. 21:02
          К сожалению, я этого подсказать не могу, поскольку у меня нет необходимости в обходе блокировок и т.д. Поэтому я и не задавался решением этой проблемы. Ну выглядит так, что вам действитель…
        • VP
          9 марта 2025 г. 16:14
          Здравствуйте! Я устанавливал Qt6 из исходников а также Qt Creator по отдельности. Все компоненты, связанные с разработкой для Android, установлены. Кроме одного... Когда пытаюсь скомпилиров…