Promoting to custom widget in QtDesigner '*.hpp' no such file or directory [cmake]
-
Hello, I am having trouble promoting a widget in the qt designer to a widget I made. The widget I made is derived from a QFrame so I am promoting a regular QFrame in the designer. But when I try to build ui_main_window.h complains it can't find the specified header.
For the promotion I tried the following settings and their combinations:
Base class name:
QFrame
Promoted class name
CameraFrame
dashboard::CameraFrame
Header file
include/dashboard/cameraframe.hpp
dashboard/cameraframe.hpp
cameraframe.hppSo I think I should be adding something else to my CMakeLists.txt perhaps? I don't how I can fix this. My project's layout is :
/dashboard ----/include --------/dashboard ------------... ------------cameraframe.hpp ------------... ----/src --------cpp files ----/resources --------/images ----/test --------tests ----/ui --------mainwindow.ui ----CMakeLists.txt ----mainpage.dox ----packages.xml
Thanks in advance!
-
@Valveware You probably don't have the custom widget mocced in your cmake. Can you share your cmakelists.txt?
-
This is my project's cmakelists.txt
############################################################################## # CMake ############################################################################## cmake_minimum_required(VERSION 2.8.0) project(dashboard) ############################################################################## # Catkin ############################################################################## # qt_build provides the qt cmake glue, roscpp the comms for a default talker find_package(catkin REQUIRED COMPONENTS qt_build roscpp) include_directories(${catkin_INCLUDE_DIRS}) # Use this to define what the package will export (e.g. libs, headers). # Since the default here is to produce only a binary, we don't worry about # exporting anything. catkin_package() ############################################################################## # Qt Environment ############################################################################## # this comes from qt_build's qt-ros.cmake which is automatically # included via the dependency call in package.xml rosbuild_prepare_qt4(QtCore QtGui) # Add the appropriate components to the component list here ############################################################################## # Sections ############################################################################## file(GLOB QT_FORMS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ui/*.ui) file(GLOB QT_RESOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} resources/*.qrc) file(GLOB_RECURSE QT_MOC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} FOLLOW_SYMLINKS include/dashboard/*.hpp) QT4_ADD_RESOURCES(QT_RESOURCES_CPP ${QT_RESOURCES}) QT4_WRAP_UI(QT_FORMS_HPP ${QT_FORMS}) QT4_WRAP_CPP(QT_MOC_HPP ${QT_MOC}) ############################################################################## # Sources ############################################################################## file(GLOB_RECURSE QT_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} FOLLOW_SYMLINKS src/*.cpp) ############################################################################## # Binaries ############################################################################## add_executable(dashboard ${QT_SOURCES} ${QT_RESOURCES_CPP} ${QT_FORMS_HPP} ${QT_MOC_HPP}) target_link_libraries(dashboard ${QT_LIBRARIES} ${catkin_LIBRARIES}) install(TARGETS dashboard RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}) ############################################################################## # Tests ############################################################################## catkin_add_gtest(cameranodetests test/cameranodetests.cpp)
-
@Valveware said in Promoting to custom widget in QtDesigner '*.hpp' no such file or directory [cmake]:
file(GLOB_RECURSE QT_MOC RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} FOLLOW_SYMLINKS include/dashboard/*.hpp)
Ok that looks like it would indeed moc your cameraframe.hpp.. So that's probably not the issue.
Can you share the build log from gcc? And also the ui_main_window.h file as well as ui_cameraframe.h?