gpt4 book ai didi

c++ - 在 CMake 构建中更改库依赖项

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:51:21 27 4
gpt4 key购买 nike

我正在构建一个依赖于其他静态库的库,为了进行测试,我必须将其中一个库更改为测试版本。对于我的生活,我不知道如何使用 CMake 做到这一点。

我的 CMake 设置如下所示:

add_library(X STATIC x.cpp)

add_library(Y STATIC y.cpp)

add_library(A STATIC a.cpp)
target_link_libraries(A X Y)

add_executable(EXE main.cpp)
target_link_libraries(EXE A)

这工作正常,但现在我想创建另一个使用 TEST_X 而不是 X 的可执行文件。这是一个简化的示例,但我有一个来自遗留系统的非常复杂的依赖项。

那么,如何构建与不同库(TEST_X 而不是 X)链接的新可执行文件?

最佳答案

就我对你的理解而言,你想要一个可执行文件 TEST_EXE取决于图书馆 A , 不依赖于库 X但是TEST_X ,对吧?

除了创建一个新的库目标,我看不到任何其他方法 TEST_A取决于 TEST_X而不是 X并使用这个新的 TEST_A在新的可执行文件中 TEST_EXE :

add_library(TEST_X STATIC test_x.cpp)
add_library(TEST_A STATIC a.cpp)
target_link_libraries(TEST_A TEST_X Y)
add_executable(TEST_EXE main.cpp)
target_link_libraries(TEST_EXE TEST_A)

关于c++ - 在 CMake 构建中更改库依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38908550/

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