마지막에 덤프를 제공하는 대신 cmake를 활성화하여 한 번에 하나의 컴파일 출력 화면을 제공하는 방법

마지막에 덤프를 제공하는 대신 cmake를 활성화하여 한 번에 하나의 컴파일 출력 화면을 제공하는 방법

저는 데비안 테스트에서 cmake 버전 3.23.2를 실행하고 있습니다. 내가 넣으면 -

$cmake .

출력을 생성하지만 읽기에는 너무 빠릅니다. 내가 다음과 같은 일을 한다면 -

cmake . > cmake-build.txt

빌드의 마지막 5개 라인만 생성됩니다. 보고할 버그, 경고 등이 있는지 전혀 알 수 없습니다.

업데이트됨, 이것이 내가 얻은 것입니다 -

Platform: Linux
Touchscreen input: No (Enable by param -DENABLE_TOUCHSCREEN=ON)
Metaserver: No (Enable by param -DENABLE_METASERVER=ON)
Doxygen documentation: No (Enable by param -DENABLE_DOC=ON)
Game development files: No (Enable by param -DENABLE_DEV=ON)
Upx packer: No (Enable by param -DENABLE_UPX=ON)
X11: Found and enabled (Disable by param -DWITH_X11=OFF)
==================================
-- Configuring done
-- Generating done
-- Build files have been written to: /home/shirish/games/Wyrmgus-master

내가 한 일을 공유해보자 -

~/games/Wyrmgus-master$ mkdir build

~/games/Wyrmgus-master$ cd build/

~/games/Wyrmgus-master/build$ cmake ../ | less

세 번째가 핵심 명령인 것 같아요. 여기서는 일부만 제공하지만 전부는 아닙니다. 이전에 뭔가 있었던 것처럼 적어도 뭔가 빠졌습니다.

-- The C compiler identification is GNU 11.3.0
-- The CXX compiler identification is GNU 11.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done

이전 줄도 캡처하고 싶습니다 :(

답변1

공부를 덜 해야지!

program | less출력을 program통해 전달됩니다.휴대용 소형 무선 호출기less여가 시간에 스크롤할 수 있도록 호출됩니다 .

사용법에 대한 한마디 cmake: cmake .트리 내 빌드를 수행하고 있음을 나타냅니다. 이는 실제로 빌드 결과로 인해 소스 코드가 복잡해지기 때문에 항상 나쁜 생각입니다. 사실, 많은 소프트웨어가 이러한 방식으로 구축되는 것을 거부할 것입니다!

더 나은 것 :

mkdir build
cd build
cmake .. | less

그리고: 동일한 디렉터리에서 cmake를 두 번 실행하면 아무 작업도 수행되지 않습니다. 소프트웨어 빌드 프로세스는 처음 이후에 설정됩니다.

답변2

로그 파일에서 누락된 메시지는 다음과 같습니다.통지하다, CMake는 이를 표준 오류로 출력합니다.

stdout 및 stderr을 캡처해야 합니다.

cmake .. |& less

어떤 경우든 빌드를 수행할 때 표준 출력과 함께 표준 오류를 기록해야 합니다. 실제 오류 메시지도 표준 오류로 전송되며 이것이 실제로 보고 싶은 메시지입니다.

관련 정보