我已经创建了一个自定义小部件插件。该插件与Qt Creator完美集成,但是当我编译程序时,我收到了这个错误:
“test.h:没有这样的文件或目录”
其中test.h是自定义小部件的名称。我究竟做错了什么?这是应用程序的* .pro文件:
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)
答案 0 :(得分:5)
经过广泛的研究,我偶然发现了这个帖子:
事实证明,当您编译插件时,您获得的“dll”仅用于Qt Creator / Qt Designer集成目的。您无法链接到该库。您应该提供另一个包含标题和源代码的库,或者将它们包含在项目中。总而言之,以下是部署自定义小部件的正确步骤:
在项目中,必须将以下行添加到* .pro文件中:
LIBS + = C:\ [图书馆的二进制路径]
INCLUDEPATH + = C:\ [通往图书馆的一个标题]
再次注意,您要链接到库A,而不是编译小部件插件时获得的库。
答案 1 :(得分:1)
如果您可以在设计器中看到您的小部件,那么您的插件就会按照您指定的方式工作。您的问题基本上是您正在编译的程序找不到您通过插件添加的小部件的头文件。答案可能是以下两点之一:
答案 2 :(得分:0)
我遇到了同样的问题。然后我试着将插件DLL的所有头文件和.cpp文件明确地添加到应用程序项目文件中。修复了这个问题。