【问题标题】:CLion with Qt automoc files generated in project项目中生成的带有 Qt automoc 文件的 CLion
【发布时间】:2017-02-04 06:15:57
【问题描述】:

我遇到了以下问题:

使用 CLion 和 Qt 进行编程我在自动生成的 automoc 文件中遇到了一些问题(所有 *automoc.cpp 文件都烦人地出现在我的项目视图中)。

我配置CMake使用Qt的方式如下:

  • 调用CONFIGURE_QT5()宏,代码为:

    macro(CONFIGURE_QT5)
        set(CMAKE_INCLUDE_CURRENT_DIR ON)         
        set(CMAKE_AUTOMOC ON)
        set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ";" ${QT5_PACKAGE_DIR})
    
        find_package(Qt5Widgets REQUIRED)
    endmacro()
    
  • 链接库:

    target_link_libraries(${PROJECT_NAME} Qt5::Widgets)
    

每次构建后,都会为我的构建的每个 CMake 项目生成 automoc 文件,这些文件显示在 CLion 中的项目视图顶部(注意:我在简单资源管理器的目录中找不到这些文件)。

关于如何从项目视图中摆脱它们的任何建议?或者也许如何以艰难的方式做到这一点 - 构建完成后删除它们?

【问题讨论】:

  • 您需要有一个 CLion 插件,可以将这些文件从项目中过滤掉。那是如果 CLion 还没有提供这样的功能 - 我不认为它提供,但我在这里可能是错的。有没有这样的插件我不知道。
  • 这个功能真的很烦人。 Clion 是为了在未来的版本中支持 Qt 的 make 脚本,所以它可能也会将它们过滤掉。虽然感谢您的回复:)

标签: c++ qt cmake clion


【解决方案1】:

CLion 依赖于 CMake,它将此类文件视为项目的一部分。所以目前 CLion 必须以某种方式显示它们。有一个request 来显示它们的分组。还有一些更改 planned 将对此有所帮助。

【讨论】:

    【解决方案2】:

    当编译器在头文件中看到 Q_OBJECT 宏时会生成 automoc 文件:它(或它们)告诉对象可以使用信号和插槽或其他交互功能。如果删除,下次点击“运行我的项目”时会重新创建。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-10
      • 1970-01-01
      • 1970-01-01
      • 2018-03-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多