链接QT创建插件编辑器 /荧光笔
linking Qt Creator plugin editor / highlighter
我正在处理QT创建者插件,该插件通过提供自定义的编辑器等来增加对某些类型的文件的支持。texteditor :: basetexteditor和texteditor :: baseetexteditorwidget。
最终,我将创建和使用专业的荧光笔和其他东西,但是现在我想利用其他QT Creator插件中的内容,这就是我遇到麻烦的地方。
特别是我想使用texteditor :: internal ::荧光笔,它可以加载和利用kate文件。我已经在使用Texteditor插件中的其他类,所以我有
include($$QTCREATOR_SOURCES/src/plugins/texteditor/texteditor.pri)
添加到我的项目文件中。内部texteditor.pri一切似乎都不错
include(texteditor_dependencies.pri)
LIBS *= -l$$qtLibraryName(TextEditor)
确实,我能够编译我的编辑器(这取决于文本插件中的内容)。
textededitor ::内部::荧光笔 - 据我所知,它是在Texteditor插件的子文件夹中。这应该没问题,并且对象文件似乎都落在同一目录中,但是当我说
时new TextEditor::Internal::Highlighter()
(就像在texteditor/plaintexteditor.cpp中所做的那样)我得到了一个链接器错误
Undefined symbols for architecture x86_64:
"TextEditor::Internal::Highlighter::Highlighter(QTextDocument*)", referenced from:
MyPlugin::MyEditorWidget::MyEditorWidget(QWidget*)in myeditor.o
MyPlugin::MyEditorWidget::MyEditorWidget(QWidget*)in myeditor.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
我在做什么错?我需要声明更多的依赖项吗?我可以使用一个命令来强制对象文件的文件夹在编译时将其放在我的路径中?
thnaks!
"内部"名称空间中的类和方法往往不会导出,因此它们在提供它们的插件之外不可用。检查类定义:类关键字和类名称之间是否具有" sosity_export"?如果没有,那么您就不幸了。
默认情况下,尽可能少的符号被导出:这使我们有机会实际更改周围的内容,而不必担心将代码在插件之外分解。它还减少了加载时间。如果您有要导出的符号的用例:请随时在QT创建者邮件列表上询问,或者 - 更好 - 为CodereView.qt-project.org提供一个补丁,将类移出内部的类名称空间并导出符号。
一个回答此类问题的更好的地方是FreeNode网络上的QT创建者邮件列表和#QT-CREATOR IRC频道。
- 我无法在Visual Studio代码中使用CIN输入答案,它说输入您的年龄,但它说只读文本编辑器如何解决这个问题?
- "未定义对'WinMain@16'的引用"gcc 编辑器中的错误
- 如何从C++而不是虚幻编辑器中添加静态网格体组件的值?
- UE4 - Visual Studio在我从编辑器添加新的c ++文件后无法打开任何源文件 - UBT_COMPILED
- 图标编辑器中的自定义颜色 (VS 2015)
- QSyntax荧光笔和多行注释
- Qt的QFontMetrics::horizontalAdvance()缺少代码编辑器实现
- 如何在文本编辑器中处理 [-Wc++11-extensions]
- C++链接编辑器找不到函数声明(未定义的引用)
- 如何将按钮添加到节点的属性编辑器面板,该面板调用该节点内的方法?
- QT创建者(4.2.2)编辑器中的独特指针导航
- 带有cmake的qtCreator,编辑器中未正确解析__cplusplus值
- 检查重叠时,虚幻编辑器会崩溃
- 如何在Windows中将使用Qt制作的记事本设置为默认文本编辑器
- 尝试在自定义 QT 创建器文本编辑器中创建查找和替换循环.我似乎无法设置光标位置
- UTF-16LE 编码问题与 Qt 文本编辑器用 C++ 编写
- Qt无法手动连接到任何插槽(UI编辑器)
- 编辑器(VS2019)拒绝了示例中的getline(stream,string)
- Qt委托编辑器弹出,没有父级
- 如果要调用多个成员函数,对象编辑器是否是一种好方法?