1

作業中のプロジェクトを Visual C からインストールしたばかりの netbeans に転送しようとしています。しかし、それは構築されていません。以下、メッセージです。

    "/usr/bin/make" -f nbproject/Makefile-Debug.mk QMAKE= SUBPROJECTS= .build-conf
make[1]: Entering directory '/cygdrive/c/Users/sam/Documents/NetBeansProjects/timerDAC'
"/usr/bin/make"  -f nbproject/Makefile-Debug.mk dist/Debug/Cygwin_4.x-Windows/timerdac.exe
make[2]: Entering directory '/cygdrive/c/Users/sam/Documents/NetBeansProjects/timerDAC'



cygwin warning:
      MS-DOS style path detected: /cygdrive/D/timer DAC code/EOGTester/DaqInTesteing\(New\)Out.c
      Preferred POSIX equivalent is: /cygdrive/D/timer DAC code/EOGTester/DaqInTesteing/(New/)Out.c
      CYGWIN environment variable option "nodosfilewarning" turns off this warning.
      Consult the user's guide for more details about POSIX paths:
        http://cygwin.com/cygwin-ug-net/using.html#using-pathnames


make[2]: *** No rule to make target '/cygdrive/D/timer DAC code/EOGTester/DaqInTesteing\(New\)Out.c', needed by 'build/Debug/Cygwin_4.x-Windows/_ext/1013452424/DaqInTesteing_New_Out.o'.  Stop.
make[2]: Leaving directory '/cygdrive/c/Users/sam/Documents/NetBeansProjects/timerDAC'
nbproject/Makefile-Debug.mk:60: recipe for target '.build-conf' failed
make[1]: *** [.build-conf] Error 2
make[1]: Leaving directory '/cygdrive/c/Users/sam/Documents/NetBeansProjects/timerDAC'
nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed
make: *** [.build-impl] Error 2


BUILD FAILED (exit value 2, total time: 1s)

私はそれを読みました

ターゲットにするルールがない

error は通常、スペルミスが原因です。しかし、これは私がインポートしている他の誰かのプロジェクトであり、スペルミスがどこにあるかを見つける方法を知る必要がありますか?

また、「MS-DOS スタイルのパスが検出されました」と「推奨される POSIX の同等物」が「/」と「\」によってのみ異なる場合、cygwin の警告は不可解です。

4

1 に答える 1

1

まず、空白を含むパス名を make で使用しないでください。Makeはこれを実際にはサポートしていません。timer DAC code空白が含まれないようにディレクトリの名前を変更します。

第二に、ここでのバックスラッシュは括弧をエスケープすることが想定されているため、その警告は無視してください。Cygwin は、それらをディレクトリ セパレータとして使用するつもりだったと想定していますが、そうではありませんでした。

私は make の Cygwin ポートにあまり詳しくありませんが、バックスラッシュが正しく解釈されていないと思います。個人的には、これらのファイルの名前を変更して、括弧などの特殊文字がまったく含まれないようにします。

それができない場合は、バックスラッシュではなく、引用符でエスケープする必要があります。DaqInTesteing\(New\)Out.cそのため、 toのインスタンスを変更します'DaqInTesteing(New)Out.c'(特殊文字を引用するバックスラッシュの代わりに単語を一重引用符で囲みます)。

DaqInTesteingではなく、奇妙な綴りのDaqInTestingは意図的なものだと思います。

これらが役に立たない場合は、これらのターゲットのビルドを担当するメイクファイルの部分を確認する必要があります。

于 2013-10-17T23:02:15.720 に答える