我有一个静态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 就可以工作。