저는 데비안 테스트에서 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
어떤 경우든 빌드를 수행할 때 표준 출력과 함께 표준 오류를 기록해야 합니다. 실제 오류 메시지도 표준 오류로 전송되며 이것이 실제로 보고 싶은 메시지입니다.