Linux에서 컴파일하기: 바이너리 생성을 위한 3단계 🔥
주요 요약
- 대부분의 소프트웨어는 소스 코드에서 컴파일하기 위해 3단계 프로세스를 따릅니다.
./configure && make && make install
. - 대본 구성하다 종속성을 확인합니다. 만들다 실행 파일을 생성하고 다음과 같은 도구를 생성합니다. autoconf/automake 이 과정을 자동화합니다.
- 설치는 일반적으로 선택 사항이므로 디렉토리에 복사된 명령을 실행하기가 더 쉽습니다.
길
시스템의.
패키지 관리자를 사용하는 것에 비하면 소스 코드에서 컴파일하는 것은 어려워 보일 수 있지만, 세 가지 기본 명령을 사용하면 간단하고 직관적인 프로세스입니다. 🚀
소스 코드에서 컴파일이란 무엇인가요?
사용하는 프로그램은 인터프리터 또는 컴파일될 수 있습니다. 인터프리터 프로그램은 다른 프로그램(인터프리터)이 실시간으로 실행하는 코드가 포함된 텍스트 파일입니다. 반면, 컴파일된 프로그램은 실행 가능한 기계어 코드가 포함된 바이너리 파일입니다.
컴파일된 실행 파일은 특히 대규모 프로그램에서 매우 일반적입니다. 소스 코드에서 컴파일하면sas는 컴파일러와 같습니다 gcc
코드를 실행 가능한 프로그램으로 변환하여 여러 파일에 분산시키는 것을 말합니다.

컴파일 프로세스는 광범위하고 복잡할 수 있으므로 일반적으로 다음과 같은 프로그램을 사용하여 자동화됩니다. 만들다
. 파일 메이크파일 최종 실행 파일이 어떻게 빌드되는지 제어합니다.
대규모 프로젝트에서는 이러한 메이크파일 이러한 도구는 자동으로 생성될 정도로 복잡할 수 있습니다. 자동 설정 그리고 자동차 제조 다양한 아키텍처 간 호환성을 보장합니다. 🛠️
3단계 빌드 프로세스: 구성, 제작, 설치
대부분의 소프트웨어는 소스 코드에서 컴파일하기 위해 다음과 같은 기본 패턴을 사용합니다.
./configure && make && make install
Apache와 같은 인기 프로그램은 다음과 같은 시퀀스(또는 일부 변형)를 사용합니다. 그의 파일을 설명합니다 설치하다:

Node.js도 BUILDING.md 파일에 표시된 대로 이 구조를 따릅니다.

각 프로젝트마다 이 명령 문자열이 약간씩 다를 수 있습니다. 논리 AND 연산자(&&
) 단계가 실패하면 프로세스를 중지합니다.
./configure && make && make install
또는 세미콜론을 사용하여 각 명령을 한 줄에 따로 실행할 수 있습니다. 이렇게 하면 실패하더라도 모든 명령이 중단되지 않고 실행됩니다.
./configure; make; make install
세 줄을 따로따로 할 수도 있습니다.
./configure make make install
설치하지 않고 프로그램을 시도해 보고 싶다면 건너뛸 수 있습니다. 설치하다
해당 폴더에서 실행하세요.
구성하다
Ready는 있지만, grep과 같은 다른 스크립트는 생성하기 위해 먼저 다른 스크립트를 실행해야 합니다. 프로젝트의 권장 사항을 따르려면 항상 INSTALL, BUILD 또는 README 파일을 참조하세요. 📋./configure가 프로세스를 시작하는 방법
대본 구성하다
이는 프로젝트를 사용자 환경에 맞게 조정하는 컴파일 과정의 시작점입니다.
이 스크립트는 프로젝트에 필요한 종속성을 검사하고 버전과 가용성을 확인합니다. 완료되면 다음과 같은 파일이 생성됩니다. 메이크파일
다음 단계를 위해.
대본 구성하다
다양한 구성 가능한 옵션을 제공합니다. ./configure --도움말
빌드 세부 정보를 사용자 정의할 수 있습니다.
구성하다
~처럼 만들다
화면에 많은 출력을 생성합니다. 옵션을 사용하세요. --조용한
너무 자세한 내용을 보여주지 않고 명령을 실행하고 싶다면. 🤫스크립트가 누락된 경우 구성하다
일부 프로젝트에는 다음과 같은 스크립트가 포함됩니다. autogen.sh
이를 생성합니다. 예를 들어, htop은 다음을 사용합니다.

매우 간단한 프로젝트나 다른 언어로 작성된 프로젝트는 다음과 같은 경우가 있을 수 있습니다. 구성하다
. 이 과정은 두 단계로 진행됩니다. make && make install
.
대본 구성하다
또한 매개변수와 같은 설치 세부 정보도 제어합니다. --접두사
설치 루트 디렉터리를 설정합니다. 기본적으로 /usr/local
하지만 파일을 더 잘 정리하기 위해 변경할 수 있습니다.
make가 대부분의 작업을 수행합니다.
후에 구성하다
생성합니다 메이크파일
, 소프트웨어의 실제 컴파일은 다음으로 시작됩니다. 만들다
.
이 프로그램은 다음을 읽습니다. 메이크파일
그리고 어떤 파일을 만들거나 업데이트할지 결정하는 규칙을 따릅니다. 메이크파일
손으로 쓴 글은 구문을 아는 사람이라면 이해하기 쉽습니다.
예를 들어, 이것 메이크파일
간단한 컴파일은 파일에 의존하는 프로그램을 컴파일합니다. 프로그램.c
:
프로그램: program.c gcc -o program program.c
만들다
확인하다 프로그램.c
마지막 컴파일 이후 변경되었습니다. 변경되지 않은 경우 아무 작업도 수행하지 마십시오. 변경된 경우 다음과 같이 컴파일하십시오. gcc
.

그만큼 메이크파일
자동 생성된 것은 일반적으로 훨씬 더 복잡합니다. 예를 들어, 메이크파일
htop에는 2,440개의 줄이 있습니다.

하지만 모든 세부 사항을 이해할 필요는 없습니다. 소스 코드를 수정하지 않는 한, 그냥 실행하면 됩니다. 만들다
그리고 시스템이 알아서 처리하도록 하세요.
단계 만들다
대규모 프로젝트의 경우 몇 분 이상 걸릴 수 있습니다. 실패하는 경우 일반적으로 종속성 누락이 원인입니다. 장점은 다음과 같습니다. 만들다
진행 상황을 저장하고 다시 실행하면 중단된 부분부터 다시 시작합니다.
make install로 마무리
컴파일 후 생성된 실행 파일은 일반적으로 프로젝트의 루트 또는 하위 디렉토리에 위치합니다. 큰 상자
전체 경로를 사용하여 실행할 수 있습니다.

테스트용으로는 유용하지만, 장기적으로는 접근하기 쉬운 위치에 설치하는 것이 좋습니다.
목표 설치하다
정의하는 것 메이크파일
필요한 파일을 복사하고 권한을 설정하세요. 기본 위치는 다음과 같습니다. /usr/local/bin
, 변경할 수는 있지만 --접두사
.
해당 폴더에 대한 권한이 없으면 다음을 실행하세요. sudo make install
관리자 비밀번호를 제공합니다.
설치 디렉토리는 변수에 포함되어야 합니다. 길
전체 경로를 지정하지 않고도 이름만으로 프로그램을 실행할 수 있습니다.