1

Mongo データベースのドライバーを含めた ac ファイルをコンパイルしようとしています。Cygwin から正常にコンパイルできますが、Netbeans に目を向けると、これが発生します。これは、C コンパイラの追加オプションに「-std=c99」を追加した後にのみ発生したことに注意してください。

更新:
Netbeans から正常にコンパイルされました。しかし、「-std=c99」は私を怒らせています。私がそれを持っている場合、それは言います(objファイルを削除しない場合、すべてのコンパイルの後):

build/Debug/Cygwin_4.x-Windows/main.o.d:1: *** multiple target patterns.  Stop.  

更新:
main.od の内容は次のとおりです。

build/Debug/Cygwin_4.x-Windows/main.o: main.c \
 c:/mongodb-driver/src/mongo.h c:/mongodb-driver/src/bson.h \
 c:/mongodb-driver/src/platform.h

c:/mongodb-driver/src/mongo.h:

c:/mongodb-driver/src/bson.h:

c:/mongodb-driver/src/platform.h:
4

2 に答える 2

3

同じ問題がある可能性があるため、既存の回答から引用します

「Cygwin を使用する前に、この問題を見たことがあります。基本的に、make はパス内の : を認識し、それが別のターゲット定義であると見なすため、エラーが発生します。

Cygwin インストールで作業している場合は、c:/ を /cygdrive/c/ に置き換えてみてください。そうでない場合は、相対パスを使用するか、ネットワーク マウントを使用して、問題が解決するかどうかを確認してください。」

Eclipse からの複数のターゲットでアプリケーションが失敗する

于 2012-05-16T09:55:29.733 に答える
2

あなたのコメントから:

@Lumi毎回編集する必要がないようにマウントするにはどうすればよいですか?

Cygwin が理解できる相対パスまたは絶対パスを書き込むようmain.o.dに (おそらく他の多くのファイルも)生成するスクリプトを修正します。.dmake

または、Cygwin の代わりにMinGWを使用するオプションがあるかどうかを検討してください。(しかし、その道をたどると、より多くの問題に遭遇する気がします。)

最終的に、Makefile に対処するには、Make がどのように機能するかを理解する必要があります。GNU Make には包括的なマニュアルがあります。これらのヒントはとても役に立ちました。この段階では、 Scott Duckworth の Make tutorialが最適でしょう。

于 2012-05-16T11:36:26.293 に答える