From a8ff5e8343286608e86e0d06a6681b7cd0b48d5e Mon Sep 17 00:00:00 2001 From: Orgad Shaneh <orgad.shaneh@audiocodes.com> Date: Sun, 28 Apr 2013 11:20:02 +0300 Subject: [PATCH] Fix link error with MSVC CppTools.lib(CppTools.dll) : error LNK2005: "public: virtual __thiscall QFutureInterface<class TextEditor::HighlightingResult>::~QFutureInterface<class TextEditor::HighlightingResult>(void)" (??1?$QFutureInterface@VHighlightingResult@TextEditor@@@@UAE@XZ) already defined in moc_cppeditor.obj Creating library ..\..\..\lib\qtcreator\plugins\QtProject\CppEditor.lib and object ..\..\..\lib\qtcreator\plugins\QtProject\CppEditor.exp..\..\..\lib\qtcreator\plugins\QtProject\CppEditor.dll : fatal error LNK1169: one or more multiply defined symbols found Change-Id: Id53a0f8a99dbd18a9cbdf2af57b4f3970f5c41a3 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com> --- src/plugins/cppeditor/cppeditor.cpp | 8 ++++---- src/plugins/cppeditor/cppeditor.h | 2 +- src/plugins/cpptools/cpptoolseditorsupport.cpp | 4 ++-- src/plugins/cpptools/cpptoolseditorsupport.h | 2 +- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index 2b31c7bebe0..a4c50fc659f 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -534,8 +534,8 @@ CPPEditorWidget::CPPEditorWidget(QWidget *parent) this, SLOT(onDocumentUpdated())); connect(editorSupport, SIGNAL(semanticInfoUpdated(CppTools::SemanticInfo)), this, SLOT(updateSemanticInfo(CppTools::SemanticInfo))); - connect(editorSupport, SIGNAL(highlighterStarted(QFuture<TextEditor::HighlightingResult>, unsigned)), - this, SLOT(highlighterStarted(QFuture<TextEditor::HighlightingResult>, unsigned))); + connect(editorSupport, SIGNAL(highlighterStarted(QFuture<TextEditor::HighlightingResult> *, unsigned)), + this, SLOT(highlighterStarted(QFuture<TextEditor::HighlightingResult> *, unsigned))); m_completionSupport = m_modelManager->completionSupport(editor()); } @@ -1978,10 +1978,10 @@ void CPPEditorWidget::semanticRehighlight(bool force) m_modelManager->cppEditorSupport(editor())->recalculateSemanticInfoDetached(force); } -void CPPEditorWidget::highlighterStarted(QFuture<TextEditor::HighlightingResult> highlighter, +void CPPEditorWidget::highlighterStarted(QFuture<TextEditor::HighlightingResult> *highlighter, unsigned revision) { - m_highlighter = highlighter; + m_highlighter = *highlighter; m_highlightRevision = revision; m_highlightWatcher.setFuture(m_highlighter); } diff --git a/src/plugins/cppeditor/cppeditor.h b/src/plugins/cppeditor/cppeditor.h index 679bcb9c55d..ae7506cb66f 100644 --- a/src/plugins/cppeditor/cppeditor.h +++ b/src/plugins/cppeditor/cppeditor.h @@ -141,7 +141,7 @@ public Q_SLOTS: void findUsages(); void renameUsagesNow(const QString &replacement = QString()); void semanticRehighlight(bool force = false); - void highlighterStarted(QFuture<TextEditor::HighlightingResult> highlighter, unsigned revision); + void highlighterStarted(QFuture<TextEditor::HighlightingResult> *highlighter, unsigned revision); protected: bool event(QEvent *e); diff --git a/src/plugins/cpptools/cpptoolseditorsupport.cpp b/src/plugins/cpptools/cpptoolseditorsupport.cpp index bc2e91b56c6..f9e37b51901 100644 --- a/src/plugins/cpptools/cpptoolseditorsupport.cpp +++ b/src/plugins/cpptools/cpptoolseditorsupport.cpp @@ -290,13 +290,13 @@ void CppEditorSupport::startHighlighting() m_highlighter = m_highlightingSupport->highlightingFuture(doc, snapshot); m_lastHighlightRevision = revision; - emit highlighterStarted(m_highlighter, m_lastHighlightRevision); + emit highlighterStarted(&m_highlighter, m_lastHighlightRevision); } else { static const Document::Ptr dummyDoc; static const Snapshot dummySnapshot; m_highlighter = m_highlightingSupport->highlightingFuture(dummyDoc, dummySnapshot); m_lastHighlightRevision = editorRevision(); - emit highlighterStarted(m_highlighter, m_lastHighlightRevision); + emit highlighterStarted(&m_highlighter, m_lastHighlightRevision); } } diff --git a/src/plugins/cpptools/cpptoolseditorsupport.h b/src/plugins/cpptools/cpptoolseditorsupport.h index c36951c1b38..d7534f33e25 100644 --- a/src/plugins/cpptools/cpptoolseditorsupport.h +++ b/src/plugins/cpptools/cpptoolseditorsupport.h @@ -111,7 +111,7 @@ signals: void documentUpdated(); void diagnosticsChanged(); void semanticInfoUpdated(CppTools::SemanticInfo); - void highlighterStarted(QFuture<TextEditor::HighlightingResult>, unsigned revision); + void highlighterStarted(QFuture<TextEditor::HighlightingResult> *, unsigned revision); private slots: void updateDocument(); -- GitLab