Я построил Qt 5 libs из источника в Ubuntu 12.04 и сделал приложение для тестирования Qt. В файле .pro я написал QT += core gui webkitwidgets
, чтобы использовать Qwebview в своем тестовом проекте.«неопределенная ссылка» при построении модуля webkitwidgets в самокомпилированном Qt5 из-за отсутствия библиотек ICU?
Но когда я бегу QMAKE в Qt Creator, то он дает мне ошибку:
Unknown module(s) in QT: webkitwidgets
Я думаю WebKit или webkitwidgets модуль не строить источником, когда я построил Qt 5, освобождает от источника.
Итак, у меня есть модуль qtwebkit или webkitwdgtes из источника, как показано ниже.
cd qtwebkit
qmake
make -jX
где X является количество ядер * 2 + 1
Но когда я бегу сделать команду, то я получил ниже ошибки.
StringImpl.cpp:(.text+0x64ad): undefined reference to u_strToUpper_51'
StringImpl.cpp:(.text+0x6636): undefined reference to u_toupper_51'
DatePrototype.cpp:(.text+0x328): undefined reference to udat_open_51'
DatePrototype.cpp:(.text+0x366): undefined reference to udat_close_51'
JSGlobalObjectFunctions.cpp:(.text+0x99f): undefined reference tou_charType_51'
StringImpl.cpp:(.text+0xa00): undefined reference tou_foldCase_51'
CollatorICU.cpp:(.text+0x1f1): undefined reference to ucol_getLocaleByType_51' CollatorICU.cpp:(.text+0x20f): undefined reference toucol_getAttribute_51'
CollatorICU.cpp:(.text+0x25b): undefined reference to ucol_open_51'
CollatorICU.cpp:(.text+0x27f): undefined reference toucol_open_51'
CollatorICU.cpp:(.text+0x2a4): undefined reference to ucol_setAttribute_51'
и многие другие такие неопределенные эталонные ошибки.
Также я обнаружил, что модуль qtwebkit использует библиотеку ICU (которые отсутствуют на моей машине).
Итак, как я могу построить библиотеки ICU в Ubuntu, чтобы модуль qtwebkit мог ссылаться на соответствующие библиотеки ICU, и я могу исправить эту ошибку ссылки и построить qtwebkit успешно.
Есть ли веская причина не использовать собственную версию Qt Ubuntu? – Braiam
Спасибо за ваш комментарий. У меня есть сборка icu libs из источника, как показано ниже. cd source && ./configure --prefix =/usr && make и установить то же самое, сделав install, теперь я могу получить icu libs по пути/usr/lib /, но все же я получаю те же неопределенные ссылочные ошибки когда я строю модуль qtwebkit из источника. – User2546
Просто FYI, я получал по умолчанию совместимый с Qt 4.8.1 .so libs на пути/usr/lib/i386-linux-gnu/в Ubuntu 12.04. Но я хочу сделать deb QT 5.2.1 app в Ubuntu 12.04. Поэтому я установил установщик QT 5.2.1 в Ubuntu 12.04, а затем я успешно запускаю приложение QT 5 в qt-creator. Но когда я попытался сделать deb того же приложения, тогда вместо QT 5, который я установил из установщика, он берет ссылку на qt5 libs машины. – User2546