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

NRK*_*rby 3 bash cmake

我通常可以保存bash命令的输出 >> output_file.txt

但是当我执行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
Run Code Online (Sandbox Code Playgroud)

Cyr*_*rus 9

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

使用此命令将stderr重定向到stdout:

cmake ... >> output_file.txt 2>&1
Run Code Online (Sandbox Code Playgroud)

或者只将stderr附加到output_file.txt:

cmake ... 2>> output_file.txt
Run Code Online (Sandbox Code Playgroud)