【发布时间】:2020-04-24 04:07:11
【问题描述】:
我有两个 ui 标头 - ui_FlowChartEditor.h 和 ui_Notepad.h
这段代码有问题:
//ui_FlowChartEditor.h
namespace Ui {
class FlowChartEditorClass: public Ui_FlowChartEditorClass {};
} // namespace Ui
//ui_Notepad.h
namespace Ui {
class NotepadClass: public Ui_NotepadClass {};
} // namespace Ui
'Ui' 命名空间重复,所以我通过更改命名空间的名称来解决这个问题。
像这样:
//ui_FlowChartEditor.h
namespace Ui_FlowChartEditor {
class FlowChartEditorClass: public Ui_FlowChartEditorClass {};
} // namespace Ui
//ui_Notepad.h
namespace Ui_Notepad {
class NotepadClass: public Ui_NotepadClass {};
} // namespace Ui
它适用于 Debug 配置,但不适用于 Release 配置。
编译器说:[error C2653: 'Ui_FlowChartEditor': is not a class or namespace name (compile source file FlowChartEditor.cpp)], etc..
有没有办法解决这个问题?
提前致谢。
通过@zgyarmati的解决方案,我解决了这个问题。
我在 Qt Designer 中更改了 objectName。
ui_头文件变成了这样:
namespace FlowChartEditorUi {
namespace Ui {
class FlowChartEditorClass : public Ui_FlowChartEditorClass {};
} // namespace Ui
} // namespace FlowChartEditorUi
谢谢。
【问题讨论】:
标签: c++ qt user-interface