【问题标题】:How to tell cmake where ui file generated with autouic is如何告诉cmake用autouic生成的ui文件在哪里
【发布时间】:2016-06-14 11:20:24
【问题描述】:

我的主窗口类包括:

#include "mainwindow.h"
#include "ui_mainwindow.h"

其中ui_mainwindow.h 是通过cmake AUTOUIC 选项从mainwindow.ui 文件生成的源文件:

set(CMAKE_AUTOUIC ON)

但是,如果我在另一个名为“build”的文件夹中构建并生成 ui_mainwindow.h,则会出现在那里:

cmake_qt_project\build\ui_mainwindow.h

如何修复构建以包含来自另一个目录的ui_mainwindow.h,或者如果没有这种可能性在src/ 目录中生成它?

我也不能将它作为

包含在源文件中
 #include "build/ui_mainwindow.h"

我需要保持在我想要的任何目录中进行构建的可能性。

【问题讨论】:

  • 是的。谢谢。这正是我所需要的。

标签: qt cmake


【解决方案1】:

将您的构建目录添加到搜索包含文件的目录列表中:

include_directories( ${CMAKE_BINARY_DIR} )

【讨论】:

  • 其实include_directories( "${CMAKE_CURRENT_BINARY_DIR}" )更正确。阅读者请注意,这仅适用于 CMake 3.7 及更早版本。从 3.8 开始,这是“固定的”。
  • @Lilian:我自己从不使用add_subdirectory,所以我只有一个 BINARY_DIR。当然是正确的添加。
猜你喜欢
  • 2017-12-11
  • 2014-01-03
  • 1970-01-01
  • 2021-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多