gpt4 book ai didi

CMakeLists 多个源文件

转载 作者:行者123 更新时间:2023-11-30 14:43:22 28 4
gpt4 key购买 nike

您好,我有一个名为“问题 1” 的目录,其结构如下:

.idea 
cmake-build-debug
1a.c
1b.c
1c.c
CMakeLists.txt

.idea 和 cmake-build-debug 是包含其他数据的文件夹,这些数据在创建项目时默认设置(我使用的是 CLion),其他 3 个是我的源文件,即 1a .c、1b.c、1c.c。我的 CMakeLists.txt 文件包含以下内容:

cmake_minimum_required(VERSION 3.7)
project(CLion)

set(CMAKE_C_STANDARD 99)

set(SOURCE_FILES 1b.c)
add_executable(CLion ${SOURCE_FILES})

正如您可以想象的那样,我只能运行源文件1b.c。如何编辑 CMakeLists.txt 以便为每个源文件构建可执行文件?

最佳答案

CMakeLists.txt 中的每个 add_executable() 调用都指定要构建的单独可执行文件。由于您需要三个可执行文件,因此您需要三个这样的调用。

此外,每个可执行文件都需要不同的名称。在每个可执行文件都是从其自己的源文件构建的情况下,源文件和可执行文件的名称通常是相关的。特别是,我希望从 1b.c 构建的可执行文件被命名为 1b

将它们放在一起,这是一种方法:

cmake_minimum_required(VERSION 3.7)
project(CLion)

set(CMAKE_C_STANDARD 99)

add_executable(1a 1a.c)
add_executable(1b 1b.c)
add_executable(1c 1c.c)

请注意,您不需要使用变量来指定可执行文件的源文件。此外,如果您想要使用变量,那么变量名SOURCE_FILES没有什么特别的。例如,您可以通过引入每个目标源变量来不必要地使上面的示例复杂化,如下所示:

cmake_minimum_required(VERSION 3.7)
project(CLion)

set(CMAKE_C_STANDARD 99)

set(SOURCES_1A 1a.c)
set(SOURCES_1B 1b.c)
set(SOURCES_1C 1c.c)

add_executable(1a ${SOURCES_1A})
add_executable(1b ${SOURCES_1B})
add_executable(1c ${SOURCES_1C})

关于CMakeLists 多个源文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53959373/

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