如何将 CMake 输出保存到文件?

问题描述 投票:0回答:2

我通常可以通过

>> output_file.txt

保存 bash 命令的输出

但是当我执行

cmake
时,输出仍然发送到屏幕而不是预期的输出文件:

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D \
BUILD_NEW_PYTHON_SUPPORT=ON -D INSTALL_C_EXAMPLES=ON -D \
INSTALL_PYTHON_EXAMPLES=ON  -D BUILD_EXAMPLES=ON .. >> output_file.txt
bash cmake stdout io-redirection stderr
2个回答
24
投票

这是因为你的 cmake 输出的一部分(可能是全部,取决于情况)被流式传输到 stderr。

用它来将 stderr 重定向到 stdout:

cmake ... >> output_file.txt 2>&1

或仅将 stderr 附加到 output_file.txt:

cmake ... 2>> output_file.txt

0
投票

CMAKE_EXPORT_COMPILE_COMMANDS

在你的CMakeLists.txt中

set( CMAKE_EXPORT_COMPILE_COMMANDS on )

或在命令行

-D CMAKE_EXPORT_COMPILE_COMMANDS=on

输出将转到构建目录中的

compile_commands.json

© www.soinside.com 2019 - 2024. All rights reserved.