gpt4 book ai didi

qt - 如何使用 CMake 从 qmake 建模 OTHER_FILES?

转载 作者:行者123 更新时间:2023-12-04 02:59:55 25 4
gpt4 key购买 nike

qmake基于项目,可以包含 OTHER_FILES在 QtCreator 中使用它们,例如

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

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

OTHER_FILES = README.md LICENCE examples/network/server.c

这样就可以访问 README.md在 QtCreator 中轻松。具有相同目标的 CMake 文件看起来像
cmake_minimum_required(VERSION 3.5)
project(example CXX)

set(CMAKE_AUTOMOC ON)

find_package(Qt5 COMPONENTS Core Gui Widgets REQUIRED)

set(HEADERS mainwindow.h)
set(SOURCES main.cpp mainwindow.cpp)
set(OTHER_FILES README.md LICENCE examples/network/server.c)

add_executable(example-program ${SOURCES} ${HEADERS})
target_link_libraries(example-program Qt5::Core Qt5::Gui Qt5::Widgets)

然而, OTHER_FILES未显示在 QtCreator 中,我必须通过“文件 > 打开”而不是项目浏览器来访问它们。有解决方法吗?

最佳答案

添加非编译文件作为 CMake 目标的源没有问题;如果 CMake 无法识别它们的扩展名,它将简单地忽略它们。所以你可以很容易地做到这一点:

add_executable(example-program ${SOURCES} ${HEADERS} ${OTHER_FILES})

对于可能与实际来源混淆的文件(基于它们的扩展名),总是可以选择设置它们的 HEADER_FILE_ONLY属性为真:
set_source_files_properties(
${OTHER_FILES}
PROPERTIES
HEADER_FILE_ONLY TRUE
)

关于qt - 如何使用 CMake 从 qmake 建模 OTHER_FILES?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50135280/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com