qscintilla2:未定义的体系结构符号 x86_64

qscintilla2: Undefined symbols for architecture x86_64

我有一个静态 Qt 并在 macOS 10.12.4 上重新编译 qscintilla2_qt5.a (2.10)。当我编译我的项目时,它打印出这个错误:

Undefined symbols for architecture x86_64:
  "qRegisterDraggedTypes(QStringList const&)", referenced from:
      initialiseRectangularPasteboardMime() in libqscintilla2_qt5.a(MacPasteboardMime.o)
  "QMacPasteboardMime::count(QMimeData*)", referenced from:
      vtable for RectangularPasteboardMime in libqscintilla2_qt5.a(MacPasteboardMime.o)
  "QMacPasteboardMime::QMacPasteboardMime(char)", referenced from:
      initialiseRectangularPasteboardMime() in libqscintilla2_qt5.a(MacPasteboardMime.o)
  "QMacPasteboardMime::~QMacPasteboardMime()", referenced from:
      RectangularPasteboardMime::~RectangularPasteboardMime() in libqscintilla2_qt5.a(MacPasteboardMime.o)
      RectangularPasteboardMime::~RectangularPasteboardMime() in libqscintilla2_qt5.a(MacPasteboardMime.o)
  "typeinfo for QMacPasteboardMime", referenced from:
      typeinfo for RectangularPasteboardMime in libqscintilla2_qt5.a(MacPasteboardMime.o)

Qt静态构建时需要在*.pro文件中添加QT += macextras。我不知道为什么,但是当程序是在公共共享的 Qt 中构建时,它在没有这个 macextras.

的情况下工作