gpt4 book ai didi

c++ - CMake:如何根据不同的主条目进行编译

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:19:28 26 4
gpt4 key购买 nike

假设我有两个 main 条目,一个在 main1.cpp 中,一个在 main2.cpp 中(还有其他文件也是,但只有两个主要条目)。如何配置 CMakeLists.txt 文件,以便我可以根据不同的目标包含 main1.cppmain2.cpp?即我最终将能够使用“make target1”生成基于 main1.cppexec1 和“make target2”生成基于 exec2 main2.cpp 以及其他文件。

最佳答案

听起来像是用除主电源之外的所有资源制作图书馆的案例。然后只需添加两个可执行目标,每个都链接到库。

add_executable(MyExe1 main1.cpp)
add_executable(MyExe2 main2.cpp)
add_library(MyLib <all the other files>)

target_link_libraries(MyExe1 MyLib)
target_link_libraries(MyExe2 MyLib)

可以只包含所有源代码两次,因此 MyExe1 将包含除 main2.cpp 之外的所有内容,而 MyExe2 将包含除 main1.cpp 之外的所有内容, 但这将涉及编译源代码两次并且效率低下。

关于c++ - CMake:如何根据不同的主条目进行编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13440744/

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