Cygwin make.exeバージョン:3.81を使用して(再)ビルド中にこのエラーが発生しました。
Error : *** target pattern contains no `%'.
このエラーは、":"
の存在が原因です。したがって、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マシンでビルドされていたため、出力フォルダーに。o.dファイルがぶら下がっていました。
。o.dファイルを手動で削除すると、問題は解決しました。どうやら、私のIDE(この場合はCodeLite))の「クリーン」コマンドは。o.dファイルを削除していませんでした。
ほとんどの場合、ドライブ文字に続くコロンの存在が原因です。たとえば、
build : $(NativeHeaders)/*
もし
NativeHeaders=../../../cpp/generated
その後、すべてが順調ですが、
NativeHeaders=C:/dev/folder/cpp/generated
あなたが得るエラーになります。
コマンドの先頭にタブ(\ t)文字がないため、このエラーが発生しました。 vimセットにexpandtabがあったので、タブ文字が4つのスペースに置き換えられていました。それをオフにしてスペースをタブに変更すると修正されました
Cygwinを使用してAndroid NDKでビルドしているときにtarget pattern contains no '%'
エラーが発生しました。
次のリンクが役に立ちました。
- 「ターゲットパターンがありません。やめる。'
- 「複数のターゲットパターン。やめる。'
- ‘ターゲットパターンに `%'が含まれていません。やめる。'
- 暗黙と静的の混合パターンルール。やめる。'
これらは、不正な静的パターンルールに対して生成されます。 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
に変更しました。
私の場合、このエラーが発生したときにCygwinでCMakeを使用していました。 Windows版のCMakeが実行されたことがわかりました。その後、Windowsパスがmakeファイルで使用されました。 CygwinのバージョンのCMakeをセットアッププログラムでインストールし、動作させました。
Linuxでこの問題が発生したのは、「server:port」という名前のディレクトリを作成するMercurialチェックアウトを実行したためにビルドディレクトリに「:」が含まれていた場合です。
Make_381と互換性を持たせるために、メイクファイルで以下を変更する必要がありました。
前:
ARDUINO_BASE_DIR = C:\ programs/arduino
今:
ARDUINO_BASE_DIR = \\ programs/arduino
私のプロジェクトでは、objフォルダーが破損している可能性があり、このエラーが発生していました。 objフォルダーを手動で削除しました。その後、ndk-buildは問題なく完了しました。
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を再起動しても問題は解決しません。