-
Type:
Bug
-
Status: Closed
-
Priority:
P2: Important
-
Resolution: Done
-
Affects Version/s: 5.3.0 RC1, 5.3.1, 5.5.0, 5.12
-
Fix Version/s: 5.14.0 Alpha
-
Component/s: Build System: CMake
-
Commits:eda28621f6c1a68774719f382be53ec109123b18 (qt/qtbase/wip/qt6)
when trying to link qt libraries statically via the qt/cmake-integration, i get a lot of undefined symbols from harfbuzz and glib:
"_hb_unicode_funcs_create", referenced from: _hb_unicode_funcs_t::_hb_unicode_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_unicode_funcs_set_eastasian_width_func", referenced from: _hb_unicode_funcs_t::_hb_unicode_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_unicode_funcs_set_general_category_func", referenced from: _hb_unicode_funcs_t::_hb_unicode_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_unicode_funcs_set_mirroring_func", referenced from: _hb_unicode_funcs_t::_hb_unicode_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_unicode_funcs_set_compose_func", referenced from: _hb_unicode_funcs_t::_hb_unicode_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_font_funcs_set_glyph_h_origin_func", referenced from: _hb_qt_font_funcs_t::_hb_qt_font_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_font_funcs_set_glyph_h_advance_func", referenced from: _hb_qt_font_funcs_t::_hb_qt_font_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_font_funcs_set_glyph_v_origin_func", referenced from: _hb_qt_font_funcs_t::_hb_qt_font_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_font_funcs_set_glyph_extents_func", referenced from: _hb_qt_font_funcs_t::_hb_qt_font_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_unicode_funcs_set_script_func", referenced from: _hb_unicode_funcs_t::_hb_unicode_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_font_funcs_set_glyph_contour_point_func", referenced from: _hb_qt_font_funcs_t::_hb_qt_font_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_font_funcs_destroy", referenced from: _hb_qt_font_funcs_t::~_hb_qt_font_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_blob_get_empty", referenced from: _hb_qt_reference_table(hb_face_t*, unsigned int, void*) in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_blob_create", referenced from: _hb_qt_reference_table(hb_face_t*, unsigned int, void*) in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_font_create", referenced from: _hb_qt_font_create(QFontEngine*) in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_buffer_set_segment_properties", referenced from: QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QVector<unsigned int> const&, bool) const in libQt5Gui_debug.a(qtextengine.o) "_hb_font_set_ppem", referenced from: _hb_qt_font_create(QFontEngine*) in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_face_is_immutable", referenced from: _hb_qt_face_create(QFontEngine*) in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_unicode_funcs_destroy", referenced from: _hb_unicode_funcs_t::~_hb_unicode_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_buffer_get_glyph_infos", referenced from: QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QVector<unsigned int> const&, bool) const in libQt5Gui_debug.a(qtextengine.o) "_hb_face_set_upem", referenced from: _hb_qt_face_create(QFontEngine*) in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_font_funcs_set_glyph_v_kerning_func", referenced from: _hb_qt_font_funcs_t::_hb_qt_font_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_face_set_index", referenced from: _hb_qt_face_create(QFontEngine*) in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_font_funcs_set_glyph_name_func", referenced from: _hb_qt_font_funcs_t::_hb_qt_font_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_buffer_allocation_successful", referenced from: QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QVector<unsigned int> const&, bool) const in libQt5Gui_debug.a(qtextengine.o) "_hb_font_get_user_data", referenced from: hb_qt_font_get_use_design_metrics(hb_font_t*) in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_buffer_create", referenced from: QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QVector<unsigned int> const&, bool) const in libQt5Gui_debug.a(qtextengine.o) "_hb_buffer_set_unicode_funcs", referenced from: QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QVector<unsigned int> const&, bool) const in libQt5Gui_debug.a(qtextengine.o) "_hb_font_set_funcs", referenced from: _hb_qt_font_create(QFontEngine*) in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_unicode_funcs_set_decompose_func", referenced from: _hb_unicode_funcs_t::_hb_unicode_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_face_reference", referenced from: hb_qt_face_get_for_engine(QFontEngine*) in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_font_funcs_set_glyph_from_name_func", referenced from: _hb_qt_font_funcs_t::_hb_qt_font_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_buffer_clear_contents", referenced from: QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QVector<unsigned int> const&, bool) const in libQt5Gui_debug.a(qtextengine.o) "_hb_buffer_guess_segment_properties", referenced from: QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QVector<unsigned int> const&, bool) const in libQt5Gui_debug.a(qtextengine.o) "_hb_buffer_set_flags", referenced from: QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QVector<unsigned int> const&, bool) const in libQt5Gui_debug.a(qtextengine.o) "_hb_shape_full", referenced from: QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QVector<unsigned int> const&, bool) const in libQt5Gui_debug.a(qtextengine.o) "_hb_font_is_immutable", referenced from: _hb_qt_font_create(QFontEngine*) in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_buffer_reverse", referenced from: QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QVector<unsigned int> const&, bool) const in libQt5Gui_debug.a(qtextengine.o) "_hb_buffer_get_length", referenced from: QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QVector<unsigned int> const&, bool) const in libQt5Gui_debug.a(qtextengine.o) "_g_main_context_wakeup", referenced from: QEventDispatcherGlib::wakeUp() in libQt5Core_debug.a(qeventdispatcher_glib.o) "_hb_face_create_for_tables", referenced from: _hb_qt_face_create(QFontEngine*) in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_font_destroy", referenced from: QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QVector<unsigned int> const&, bool) const in libQt5Gui_debug.a(qtextengine.o) _hb_qt_font_create(QFontEngine*) in libQt5Gui_debug.a(qharfbuzzng.o) _hb_qt_font_release(void*) in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_unicode_funcs_set_decompose_compatibility_func", referenced from: _hb_unicode_funcs_t::_hb_unicode_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_buffer_destroy", referenced from: QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QVector<unsigned int> const&, bool) const in libQt5Gui_debug.a(qtextengine.o) "_hb_ot_tags_from_script", referenced from: QFontEngine::supportsScript(QChar::Script) const in libQt5Gui_debug.a(qfontengine.o) "_g_source_set_priority", referenced from: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) in libQt5Core_debug.a(qeventdispatcher_glib.o) "_hb_ot_layout_table_find_script", referenced from: QFontEngine::supportsScript(QChar::Script) const in libQt5Gui_debug.a(qfontengine.o) "_hb_font_funcs_set_glyph_func", referenced from: _hb_qt_font_funcs_t::_hb_qt_font_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_g_source_destroy", referenced from: QEventDispatcherGlib::~QEventDispatcherGlib() in libQt5Core_debug.a(qeventdispatcher_glib.o) "_hb_buffer_pre_allocate", referenced from: QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QVector<unsigned int> const&, bool) const in libQt5Gui_debug.a(qtextengine.o) "_g_source_unref", referenced from: QEventDispatcherGlib::~QEventDispatcherGlib() in libQt5Core_debug.a(qeventdispatcher_glib.o) "_hb_font_funcs_create", referenced from: _hb_qt_font_funcs_t::_hb_qt_font_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_buffer_add_utf16", referenced from: QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QVector<unsigned int> const&, bool) const in libQt5Gui_debug.a(qtextengine.o) "_hb_buffer_get_glyph_positions", referenced from: QTextEngine::shapeTextWithHarfbuzzNG(QScriptItem const&, unsigned short const*, int, QFontEngine*, QVector<unsigned int> const&, bool) const in libQt5Gui_debug.a(qtextengine.o) "_g_source_add_poll", referenced from: QEventDispatcherGlib::registerSocketNotifier(QSocketNotifier*) in libQt5Core_debug.a(qeventdispatcher_glib.o) "_g_main_context_iteration", referenced from: QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) in libQt5Core_debug.a(qeventdispatcher_glib.o) "_g_main_context_pending", referenced from: QEventDispatcherGlib::hasPendingEvents() in libQt5Core_debug.a(qeventdispatcher_glib.o) "_g_source_remove_poll", referenced from: QEventDispatcherGlib::~QEventDispatcherGlib() in libQt5Core_debug.a(qeventdispatcher_glib.o) QEventDispatcherGlib::unregisterSocketNotifier(QSocketNotifier*) in libQt5Core_debug.a(qeventdispatcher_glib.o) "_g_source_set_can_recurse", referenced from: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) in libQt5Core_debug.a(qeventdispatcher_glib.o) "_hb_font_reference", referenced from: hb_qt_font_get_for_engine(QFontEngine*) in libQt5Gui_debug.a(qharfbuzzng.o) "_g_main_context_pop_thread_default", referenced from: QEventDispatcherGlib::~QEventDispatcherGlib() in libQt5Core_debug.a(qeventdispatcher_glib.o) "_hb_font_set_scale", referenced from: _hb_qt_font_create(QFontEngine*) in libQt5Gui_debug.a(qharfbuzzng.o) "_g_main_context_unref", referenced from: QEventDispatcherGlib::~QEventDispatcherGlib() in libQt5Core_debug.a(qeventdispatcher_glib.o) "_g_main_context_ref", referenced from: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) in libQt5Core_debug.a(qeventdispatcher_glib.o) "_g_main_context_default", referenced from: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) in libQt5Core_debug.a(qeventdispatcher_glib.o) "_hb_font_funcs_set_glyph_h_kerning_func", referenced from: _hb_qt_font_funcs_t::_hb_qt_font_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_face_destroy", referenced from: QFontEngine::supportsScript(QChar::Script) const in libQt5Gui_debug.a(qfontengine.o) _hb_qt_face_create(QFontEngine*) in libQt5Gui_debug.a(qharfbuzzng.o) _hb_qt_face_release(void*) in libQt5Gui_debug.a(qharfbuzzng.o) _hb_qt_font_create(QFontEngine*) in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_font_funcs_set_glyph_v_advance_func", referenced from: _hb_qt_font_funcs_t::_hb_qt_font_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_font_set_user_data", referenced from: hb_qt_font_set_use_design_metrics(hb_font_t*, unsigned int) in libQt5Gui_debug.a(qharfbuzzng.o) "_hb_unicode_funcs_set_combining_class_func", referenced from: _hb_unicode_funcs_t::_hb_unicode_funcs_t() in libQt5Gui_debug.a(qharfbuzzng.o) "_g_main_context_new", referenced from: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) in libQt5Core_debug.a(qeventdispatcher_glib.o) "_g_main_context_push_thread_default", referenced from: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) in libQt5Core_debug.a(qeventdispatcher_glib.o) "_g_source_new", referenced from: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) in libQt5Core_debug.a(qeventdispatcher_glib.o) "_g_source_attach", referenced from: QEventDispatcherGlibPrivate::QEventDispatcherGlibPrivate(_GMainContext*) in libQt5Core_debug.a(qeventdispatcher_glib.o)
while i can link to the libraries manually, it would be great if the generated cmake files could provide the usage requirements, so that user code 'just works' out of the box.
- is duplicated by
-
QTBUG-47336 Link missing frameworks/libraries and flags in iOS CMake
-
- Closed
-
- is related to
-
QTBUG-76562 [cmake] cocoa platform plugin lacks usage requirements
-
- Closed
-
-
QTBUG-81401 CMake linking with Qt static build fails on win32/mingw platform
-
- Closed
-
- is required for
-
QTBUG-47349 Link missing frameworks/libraries in OSX CMake for static Qt
-
- Closed
-
- relates to
-
QTBUG-78119 [REG 5.13.0-5.13.1] Broken CMake build for static libs (QMAKE_PRL_LIBS_FOR_CMAKE)
-
- Closed
-
-
QTBUG-75520 Incorrect CMake files generated
-
- Closed
-
- resulted in
-
QTBUG-73475 [REG 5.12-5.13] CMake/ActiveQt: LNK4044: unrecognized option '/lole32' (5.13-beta2)
-
- Closed
-