web-dev-qa-db-ja.com

Cygwin makeエラー:***ターゲットパターンに `% 'が含まれていません

Cygwin make.exeバージョン:3.81を使用して(再)ビルド中にこのエラーが発生しました。

Error : *** target pattern contains no `%'.
37
Reno

このエラーは、":"の存在が原因です。したがって、Windowsパスはサポートされなくなりました。バージョン3.80をダウンロードして、make.exeディレクトリの\binを置き換える必要があります。

どうやらcygintl12.dllも必要です。

40
Reno
  • ロールバックして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

27
papahabla

LinuxまたはOSXでプロジェクトをビルドしようとすると、同じエラーが発生しました。以前はWindowsマシンでビルドされていたため、出力フォルダーに。o.dファイルがぶら下がっていました。

。o.dファイルを手動で削除すると、問題は解決しました。どうやら、私のIDE(この場合はCodeLite))の「クリーン」コマンドは。o.dファイルを削除していませんでした。

9
Hristo Pavlov

ほとんどの場合、ドライブ文字に続くコロンの存在が原因です。たとえば、

build : $(NativeHeaders)/*

もし

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

その後、すべてが順調ですが、

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

あなたが得るエラーになります。

5
Bathsheba

コマンドの先頭にタブ(\ t)文字がないため、このエラーが発生しました。 vimセットにexpandtabがあったので、タブ文字が4つのスペースに置き換えられていました。それをオフにしてスペースをタブに変更すると修正されました

4
Reza S

Cygwinを使用してAndroid NDKでビルドしているときにtarget pattern contains no '%'エラーが発生しました。

次のリンクが役に立ちました。

Makeによって生成されたエラー

  • 「ターゲットパターンがありません。やめる。'
  • 「複数のターゲットパターン。やめる。'
  • ‘ターゲットパターンに `%'が含まれていません。やめる。'
  • 暗黙と静的の混合パターンルール。やめる。'

これらは、不正な静的パターンルールに対して生成されます。 1つ目は、ルールのターゲットセクションにパターンがないことを意味します。 2番目は、ターゲットセクションに複数のパターンがあることを意味します。 3番目は、ターゲットにパターン文字(%)が含まれていないことを意味します。 4番目は、静的パターンルールの3つの部分すべてにパターン文字(%)が含まれることを意味します。最初の2つの部分のみが含まれる必要があります。これらのエラーが表示され、静的パターンルールを作成しようとしていない場合は、ターゲットおよび前提条件リストの変数の値を確認して、それらを確認しますコロンを含めないでください。静的パターンルールの構文 を参照してください。

そして、私の解決策には、システム変数をWindows形式からUnix形式に変更することが含まれています。

  • C:\Android\android-ndk-r10cの代わりに、NDKパスに/cygdrive/c/Android/android-ndk-r10cを使用しました。

同様に、NDKプロジェクトのパスを/cygdrive/c/Android/project/src/main/jniに変更しました。

2
Luis

私の場合、このエラーが発生したときにCygwinでCMakeを使用していました。 Windows版のCMakeが実行されたことがわかりました。その後、Windowsパスがmakeファイルで使用されました。 CygwinのバージョンのCMakeをセットアッププログラムでインストールし、動作させました。

1
Tsjakka

Linuxでこの問題が発生したのは、「server:port」という名前のディレクトリを作成するMercurialチェックアウトを実行したためにビルドディレクトリに「:」が含まれていた場合です。

1
paulm

Make_381と互換性を持たせるために、メイクファイルで以下を変更する必要がありました。
前:
ARDUINO_BASE_DIR = C:\ programs/arduino

今:
ARDUINO_BASE_DIR = \\ programs/arduino

0
Gulzt

私のプロジェクトでは、objフォルダーが破損している可能性があり、このエラーが発生していました。 objフォルダーを手動で削除しました。その後、ndk-buildは問題なく完了しました。

0
Roy

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を再起動しても問題は解決しません。

0
Michele