Cygwin Make Error : *** 대상 패턴에는`%'가 포함되지 않습니다.

StackOverflow https://stackoverflow.com/questions/601516

  •  03-07-2019
  •  | 
  •  

문제

Cygwin Make.exe 버전을 사용하여 (RE) 빌딩하는 동안이 오류가 발생했습니다. 3.81.

Error : *** target pattern contains no `%'.
도움이 되었습니까?

해결책

이 오류는 a의 존재 때문입니다 ":". 따라서 더 이상 Windows 경로를 지원하지 않습니다. 버전 3.80을 다운로드하고 교체해야합니다 make.exe 에서 \bin 예배 규칙서.

분명히 그것은 필요합니다 cygintl12.dll 도.

다른 팁

  • 3.80을 만들기위한 롤백 (GEANT4)

    • cd /usr/bin
    • mv make.exe make_381.exe
    • wget http://geant4.cern.ch/support/extras/cygwin/make.exe
    • chmod +x make.exe
  • 설치 libintl2 필요한 Cygwin 설정에서 cygintl-2.dll

Linux 또는 OSX에서 프로젝트를 구축하려고 할 때 동일한 오류가 발생했는데, 이전에는 Windows 시스템에 구축되었으며 일부가 있습니다. .OD 출력 폴더에 매달려있는 파일.

일단 수동으로 삭제하면 .OD 파일 문제가 해결되었습니다. 분명히 내 IDE (이 경우 Codelite)의 "깨끗한"명령은 .OD 파일.

드라이브 편지에 따른 대장의 존재로 인해 가능성이 높습니다. 예를 들어 고려하십시오

build : $(NativeHeaders)/*

만약에

NativeHeaders=../../../cpp/generated

그러면 모든 것이 잘되었지만

NativeHeaders=C:/dev/folder/cpp/generated

당신이 얻는 오류가 발생합니다.

명령의 시작 부분에 탭 ( t) 문자가 없었기 때문에이 오류가 발생했습니다. VIM 세트에 ExpandTab을 사용하여 4 개의 공간으로 탭 문자를 교체했습니다. 내가 끄고 공백을 탭으로 변경했을 때 고정되었습니다.

나는 가졌다 target pattern contains no '%' Cygwin을 사용하여 Android NDK로 구축하는 동안 오류.

다음 링크가 도움이되었습니다.

Make에 의해 생성 된 오류

  • '대상 패턴 누락. 중지.'
  • '여러 대상 패턴. 중지.'
  • '대상 패턴에는'%'가 포함되어 있지 않습니다. 중지.'
  • '혼합 내재 및 정적 패턴 규칙. 중지.'

이들은 기형 정적 패턴 규칙에 대해 생성됩니다. 첫 번째는 규칙의 대상 섹션에 패턴이 없다는 것을 의미합니다. 두 번째는 대상 섹션에 여러 패턴이 있음을 의미합니다. 세 번째는 대상이 패턴 문자 (%)를 포함하지 않음을 의미합니다. 네 번째는 정적 패턴 규칙의 세 부분 모두 패턴 문자 (%)를 포함한다는 것을 의미합니다. 처음 두 부분 만 있어야합니다. 이러한 오류가 표시되고 정적 패턴 규칙을 작성하려고하지 않으면 대상 및 전제 조건 목록의 변수 값을 확인하여 콜론이 포함되어 있지 않은지 확인하십시오. 보다 정적 패턴 규칙의 구문.

따라서 내 솔루션에는 시스템 변수를 Windows 형식에서 UNIX 형식으로 변경하는 것이 포함되었습니다.

  • 대신에 C:\Android\android-ndk-r10c, 나는 사용했다 /cygdrive/c/Android/android-ndk-r10c NDK 경로의 경우.

마찬가지로 NDK 프로젝트 경로를 변경했습니다 /cygdrive/c/Android/project/src/main/jni.

제 경우에는이 오류가 발생했을 때 Cygwin에서 CMAKE를 사용하고있었습니다. CMAKE의 Windows 버전이 실행되었습니다. 그 후, Windows 경로는 Make 파일에 사용되었습니다. 설정 프로그램을 통해 Cygwin의 CMAKE 버전을 설치하여 작동했습니다.

빌드 디렉토리에 ":" "Server : Port"라는 디렉토리를 만든 수은 체크 아웃으로 인해 발생하는 Linux 에서이 문제가있었습니다.

make _381과 호환되도록 Make 파일에서 다음을 변경해야했습니다.
전에:
Arduino_base_dir = C : 프로그램/Arduino

지금:
Arduino_base_dir = 프로그램/Arduino

Eclipse C/C ++를 실행하고 Windows에서 Cygwin에서 파일을 참조하는 경우 C :/Cygwin/Bin 또는 C :/Cygwin64/Bin이 Windows Path 환경에서 선호하는 컴파일러 도구를 방문한 경우 시도하십시오.

예 : 경로 =; c : yagarto bin; c : yagarto-tools bin; c : cygwin64 bin;

변경 한 후에는 Eclipse를 종료하고 다시 시작하여 발효되도록 다시 시작하십시오 (종료하지 않고 Eclipse를 다시 시작하면 문제가 해결되지 않습니다.

내 프로젝트에서 OBJ 폴더는 아마도 손상 되었고이 오류가 발생했습니다. 수동으로 OBJ 폴더를 삭제했습니다. 그런 다음 NDK 건물은 잘 완성되었습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top