gpt4 book ai didi

cmake - 为什么 CMAKE_LIBRARY_OUTPUT_DIRECTORY 不起作用?

转载 作者:行者123 更新时间:2023-12-04 13:26:20 28 4
gpt4 key购买 nike

我想在 bin 上构建静态库subdir,但 cmake 似乎没有做我想要的。
这是我写的Cmake文件。

cmake_minimum_required(VERSION 3.3)
project(FancyLogger)

set(SOURCE_FILES FancyLogger.cpp)

set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin)

add_library(FancyLogger STATIC ${SOURCE_FILES})

我做了一个 build subdir,然后运行 ​​ cmake ..make在这个子目录下,希望能在bin库上生成输出静态库。

但输出仍然在 build目录,为什么?

这是我的文件树

======
|

| FancyLogger.cpp

| CMakeLists.txt

|/ build

|/bin

最佳答案

对于静态库,您必须设置 CMAKE_ARCHIVE_OUTPUT_DIRECTORY ,而不是 CMAKE_LIBRARY_OUTPUT_DIRECTORY .

所以你将拥有:

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/bin)

how do I make cmake output into a 'bin' dir?

顺便说一句,在源目录中创建子文件夹可能不是一个好主意,尤其是以自动方式创建。

关于cmake - 为什么 CMAKE_LIBRARY_OUTPUT_DIRECTORY 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36089291/

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