我想这是相当直截了当的,但我承认我并不精通 CMake(或 Qt),所以问题出在:
我有一个在 Qt Designer 中构建的表单(带有一个.ui
文件)。已经创建了两个基于此表单的类。这两个类都有很多重复的代码。所以,我想创建一个基类,formname.ui
使用多重继承方法来继承文件来管理该公共代码。
问题是我不知道如何让 CMake 正确构建它。编译给了我错误ui_formname.h: No such file or directory
。
我已经确定了使 CMake 正确构建它所必需的以下元素:
set (UI_HDR ${CMAKE_SOURCE_DIR}/path/to/formname.ui)
QT4_WRAP_UI (COMPONENT_UI_HDR ${UI_HDR})
include_directories(${CMAKE_CURRENT_BINARY_DIR}) #Necessary here?
这个和其他两种情况的区别在于这个 cmakefile 没有构建可执行文件,而在其他两种情况下,它是。可能是我遗漏了其他东西,但缺少add_executable
一行是我能看到的最明显的区别,因为COMPONENT_UI_HDR
变量将包含在该列表中,如果它在那里。
关于如何解决这个问题的任何建议?