그래서 저는 현재 작은 학습 프로젝트를 진행하고 있습니다.
여러 *.cpp *.hpp 등의 파일에서 컴파일된 프로젝트/프로그램이 있습니다. 프로젝트(실제 bin 실행 파일)는 Make(CMakeLists.txt가 존재함)를 사용하여 빌드되었습니다. 이 프로젝트는 오래된 RedHat 5 OS 64에서 실행되며 2013년에 만들어졌습니다. 전체 프로젝트를 최신 운영 체제(예: Ubuntu 또는 Mint 19.3 64x)로 이동하고 다시 컴파일하는 방법을 찾으려고 합니다.
1.이 문제를 해결하기 위한 첫 번째 단계는 무엇입니까?
2.Make 프로젝트 설정 파일을 "스캔"하고 어떤 라이브러리, 구성 요소, 프로그램이 필요한지 "확인"하는 방법이 있습니까?
삼.ldd
실행 파일을 실행하면 필요한 라이브러리가 표시됩니다...
나는 전문 프로그래머가 아닙니다(아마추어일 뿐이고 충분히 가깝지도 않습니다).
답변1
기본적으로 ldd
좋은 출발점입니다. RHEL 5에 이미 있는 경우 yum whatprovides
ldd 출력을 소프트웨어 컴파일에 필요한 패키지 목록으로 변환하는 것이 매우 쉽습니다.
직접적인 서신보다는 CMakeList.txt
서신에 유의하시기 바랍니다 . 생성 후 실행됩니다 .cmake
make
cmake
Makefile
make
새 시스템에서 설치를 시작하기 cmake
전에 결정된 패키지 목록입니다 . 프로젝트 유형 및 종속성에 따라 이는 쉬울 수도 있고 불가능할 수도 있습니다. 프로젝트에서 QT3을 사용하는 경우 RHEL7에는 QT4만 있을 수 있습니다. 이 종속성 문제로 인해 프로젝트 파일을 수정해야 합니다.
파일을 복사하고 시도 cmake .
하십시오 make
. 파일 누락 오류가 표시되면 필요한 패키지를 .h
다시 yum whatprovides
찾으십시오.
행운을 빕니다. 도중에 더 많은 걸림돌이 있을 수 있습니다. :-)