Qt插件不工作
我已经创建了一个自定义小部件插件。该插件与Qt Creator很好地集成,但当我编译程序时,出现以下错误: “test.h:没有这样的文件或目录” 其中test.h是自定义小部件的名称。我做错了什么?这是应用程序的*.pro文件:Qt插件不工作,qt,plugins,linker,qmake,Qt,Plugins,Linker,Qmake,我已经创建了一个自定义小部件插件。该插件与Qt Creator很好地集成,但当我编译程序时,出现以下错误: “test.h:没有这样的文件或目录” 其中test.h是自定义小部件的名称。我做错了什么?这是应用程序的*.pro文件: TEMPLATE = app SOURCES += main.cpp \ mainwindow.cpp HEADERS += mainwindow.h FORMS += mainwindow.ui 这是插件的*.pro文件: CONFIG += d
TEMPLATE = app
SOURCES += main.cpp \
mainwindow.cpp
HEADERS += mainwindow.h
FORMS += mainwindow.ui
这是插件的*.pro文件:
CONFIG += designer plugin debug_and_release
TARGET = $$qtLibraryTarget(testplugin)
TEMPLATE = lib
HEADERS = testplugin.h
SOURCES = testplugin.cpp
RESOURCES = icons.qrc
target.path = $$[QT_INSTALL_PLUGINS]/designer
INSTALLS += target
include(test.pri)
如果您可以在designer中看到您的小部件,那么您的插件正在按照您指定的方式工作。您的问题基本上是您正在编译的程序无法找到您通过插件添加的小部件的头文件。答案可能是两件事之一:
- 在插件的头中添加更多的路径,以便使用小部件的程序可以适当地找到头
- 将头文件的路径添加为编译器的include路径,这样当程序文件引用它时,编译器可以找到相应的头文件
INCLUDEPATH+=C:\[库的A头的路径]
再次注意,您链接的是库A,而不是编译小部件插件时得到的库 我也面临同样的问题。然后我尝试将插件DLL的所有头文件和.cpp文件显式地添加到应用程序项目文件中。它解决了这个问题。对不起,您能用代码示例解释一下吗?我不知道你指的是什么。