디렉터리 전체에 걸쳐 이식 가능한 소스 컴파일

디렉터리 전체에 걸쳐 이식 가능한 소스 컴파일

서버를 설치 중인데 nginx배포해야 합니다. 따라서 최종 사용자는 모든 디렉터리에서 실행할 수 있습니다. 내 nginx실행 파일은 컴파일 시 제공된 경로로 하드 코딩되어 있습니다.

이것을 휴대용으로 만드는 방법은 무엇입니까?

편집하다:

해당 실행 파일을 변경하면 nginx시작되지 않고 다음과 같은 오류가 발생합니다.분할 오류 코어가 덤프되었습니다.. 이 문제를 해결하도록 도와주세요.

답변1

네 가지 옵션이 떠오릅니다.

  1. 상대 디렉터리를 사용하도록 애플리케이션을 코딩하고 데이터 디렉터리 트리의 헤드에서 실행되도록 지정합니다.
  2. $HOME데이터 위치를 정의하기 위해 환경 변수가 설정되도록 지정합니다 . 새로운 명시적 변수를 정의하지 않으려면 디렉터리 의 상대 경로를 사용할 수 있습니다 .
  3. .app또는 구성 파일을 사용하여 .config/app위치를 지정합니다.
  4. 고정된 디렉터리 경로를 사용하여 코드를 작성하고 실제 위치를 가리키도록 이 위치에 생성되는 심볼릭 링크를 지정합니다.

분할 오류의 경우 오류 검사(예: 파일 포인터가 null이 아닌지 확인)를 놓친 것 같습니다.

관련 정보