мой QT дизайнер плагин не находит внешних

Я создал собственный плагин QT Designer, который работает просто отлично … пока я не добавлю заголовок, который не находится в той же библиотеке …

если я добавлю это в MTBFWidget.cpp / .h:

#include "KinectHandler.h"

плагин больше не найден. если я удаляю это, это работает .. это говорит мне, что это не может найти какие-либо внешние. Я действительно застрял на данный момент, и я ценю помощь в каждой форме … я думаю, что моей проблемой может быть мой CMakeLists.txt, который рассказывает, как построить dll / lib .. здесь мой CMakeLists.txt:

    ########### Client Library ###############find_package( Qt4 COMPONENTS QtCore QtGui QtOpenGL REQUIRED )
include( ${QT_USE_FILE} )
LINK_LIBRARIES( ${QT_LIBRARIES} )

SET (CLIENT_SOURCES  client.cpp
mtbf.cpp
pose.cpp
MTBFReader.cpp
KinectHandler.cpp )

SET (CLIENT_HEADERS ${PROJECT_SOURCE_DIR}/include/client.h
${PROJECT_SOURCE_DIR}/include/mtbf.h
${PROJECT_SOURCE_DIR}/include/pose.h
${PROJECT_SOURCE_DIR}/include/MTBFReader.h
${PROJECT_SOURCE_DIR}/include/KinectHandler.h
)

ADD_LIBRARY(client SHARED  ${CLIENT_SOURCES} ${CLIENT_HEADERS} ${CLIENT_MOC_SRC} ${UISrcs})

TARGET_LINK_LIBRARIES(client ${QT_LIBRARIES} ${Boost_LIBRARIES} ${ODYSSEUS_LIBRARIES})

###########################QT Designer Plugin ###################

set (PLUGIN_MOC_H ${PROJECT_SOURCE_DIR}/include/MTBFWidgetPlugin.h
${PROJECT_SOURCE_DIR}/include/mtbfwidget.h)

set (PLUGIN_SRCS MTBFWidgetPlugin.cpp
mtbfwidget.cpp)

include_directories(${PROJECT_SOURCE_DIR}/include
${QT_QTDESIGNER_INCLUDE_DIR} )

QT4_WRAP_CPP( MOCsrc ${PLUGIN_MOC_H} )

ADD_LIBRARY(mtbf_plugin SHARED  ${MOCsrc}  ${PLUGIN_MOC_H} ${PLUGIN_SRCS} )

add_dependencies(mtbf_plugin client )

SET_TARGET_PROPERTIES(mtbf_plugin PROPERTIES COMPILE_FLAGS "${QT_DEFINITIONS} -DQDESIGNER_EXPORT_WIDGETS -DQT_PLUGIN -DQT_NO_DEBUG -DQT_SHARED")

TARGET_LINK_LIBRARIES(mtbf_plugin ${QT_LIBRARIES} client ${Boost_LIBRARIES} ${ODYSSEUS_LIBRARIES})

set( QT_PLUGIN_PATH $ENV{QT_PLUGIN_PATH} )
if( QT_PLUGIN_PATH )
get_target_property( TMP_LIBRARY_PATH mtbf_plugin LOCATION )
add_custom_command( TARGET mtbf_plugin POST_BUILD COMMAND ${CMAKE_COMMAND} ARGS -E copy ${TMP_LIBRARY_PATH} ${QT_PLUGIN_PATH}/designer )
endif( QT_PLUGIN_PATH )

РЕДАКТИРОВАТЬ :

Любые связанные с QT работы. Любое другое включение снаружи не

работает :

#include "QtGui\qabstractbutton.h"

не работает :

#include "boost\thread.hpp"

Странно то, что моя программа может найти все эти файлы, она даже правильно компилируется ..

1

Решение

Наконец-то …. я нашел решение .. если КТО-НИБУДЬ имеет эту проблему:

вам нужно скопировать все внешние зависимости (в моем случае повысить DLL) в Qt / X.X.X / бен
папка

чтобы решить это для меня: C: \ Qt \ 4.8.4 \ bin \ boost_system-vc100-mt-1_52.dll должен существовать.

Что также может помочь в поиске ваших зависимостей: загрузите средство проверки зависимостей, посмотрите, какой файл DLL необходим, и поместите его в папку Qt bin.

1

Другие решения

Проверьте здесь

include_directories(${PROJECT_SOURCE_DIR}/include
${QT_QTDESIGNER_INCLUDE_DIR} )

Я думаю, что вы добавили Boost Включить папку в этом списке. И скопируйте это "KinectHandler.h"
файл в каталог вашего проекта / включить

0

По вопросам рекламы [email protected]