You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用CMake实现qmake中OTHER_FILES的功能?

在Qt Creator中添加额外可访问文件(qmake & CMake)

在Qt项目开发时,我们经常需要让Qt Creator能直接访问项目里的非源码类文件(比如说明文档、许可证、示例代码等),下面分别介绍qmake和CMake两种构建系统的实现方式:

一、基于qmake的项目配置

qmake专门提供了OTHER_FILES变量来处理这类需求,它能指定那些不需要编译但需要在IDE中便捷访问的文件。配置示例如下:

QT += core gui widgets
TARGET = example-program
TEMPLATE = app

HEADERS = mainwindow.h
SOURCES = main.cpp mainwindow.cpp

# 添加需要在Qt Creator中显示的额外文件
OTHER_FILES = README.md LICENCE examples/network/server.c

配置完成后,你就能在Qt Creator的项目视图里直接找到并打开这些文件,不用再手动去文件系统里翻找。

二、基于CMake的项目配置

CMake没有像qmake那样直接对应的OTHER_FILES变量,但我们可以通过自定义目标的方式实现同样的效果,让Qt Creator识别并显示这些文件。完整配置示例:

cmake_minimum_required(VERSION 3.5)
project(example CXX)

# 启用Qt的MOC自动生成和当前目录包含
set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)

# 查找Qt5的必要组件
find_package(Qt5 COMPONENTS Core Gui Widgets REQUIRED)

# 定义需要显示的额外文件列表
set(OTHER_FILES
    README.md
    LICENCE
    examples/network/server.c
)

# 创建自定义目标,将额外文件关联到项目中
add_custom_target(ProjectExtraFiles ALL SOURCES ${OTHER_FILES})

# 定义项目可执行文件及其源码文件
add_executable(example-program
    main.cpp
    mainwindow.cpp
    mainwindow.h
)

# 链接Qt5的库
target_link_libraries(example-program Qt5::Core Qt5::Gui Qt5::Widgets)

这里通过add_custom_target创建了一个名为ProjectExtraFiles的目标,把所有额外文件作为它的源文件,这样Qt Creator就会把这些文件加载到项目视图里,和qmake配置后的使用体验完全一致。


内容的提问来源于stack exchange,提问作者Zeta

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:21:12