-2

ファイルリストがあるとします:

  • ソース
    • a
    • b
    • c
  • メイクファイル

各フォルダには多くの .cc & .h ファイルがあります。Makefileの書き方??

この ./a/a.cc または ../a/a.cc のようなパスを書くと

エラーが発生します。

しかし、ファイルを同じディレクトリに置き、a.ccとして書き込むと. 全て大丈夫。

私はcygwinで実行しています。誰でも私を助けることができますか?

4

3 に答える 3

1

関数はwildcardあなたが探しているものです:http ://www.gnu.org/software/make/manual/html_node/Wildcards.html

Linuxでは、Automake / Autoconfビルドシステムを好みます:http://de.wikipedia.org/wiki/GNU_Build_System

別の方法はCMakeである可能性があります:http ://www.cmake.org/

于 2012-04-25T07:31:13.137 に答える
1

あまり明確ではないディレクトリグラフから、src/ディレクトリプレフィックスが欠落しているようですMakefile。たとえば、コンパイルするsrc/a/a.ccには、次を使用します。

src/a/a.o: src/a/a.cc
    $(CXX) $(CXXFLAGS) -c -o $@ $<

しかし:自分に有利に働き、CMakeなどの実際のビルドシステムを使用してください。クロスプラットフォームであり、IDEプロジェクトファイル(たとえば、Visual Studio、Xcode、Eclipse、CodeBlocksなど)を生成でき、はるかに高いレベルであり、自動的に依存関係を追跡します。

于 2012-04-25T07:34:13.137 に答える
1

多くの詳細 (オブジェクト ファイルを配置する場所など) を省略しましたが、VPATHおそらく探しているものです。

VPATH = src/a src/b src/c

# Now you can write rules as if the .cc & .h files were in the current directory.

%.o: %.cc
    do something with $<

foo.o: foo.cc bar.h
    do something special with $<
于 2012-04-25T12:44:02.797 に答える