0

OSX Mountain LionにBoostをインストールし終えたところ、このダイアログが表示されました...

次のディレクトリをコンパイラのインクルードパスに追加する必要があります。

/usr/local/boost_1_51_0

次のディレクトリをリンカライブラリパスに追加する必要があります。

/usr/local/boost_1_51_0/stage/lib

Boostの「はじめに」ページはこのプログラムを提案しています:

#include <boost/lambda/lambda.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>

int main()
{
    using namespace boost::lambda;
    typedef std::istream_iterator<int> in;

    std::for_each(
        in(std::cin), in(), std::cout << (_1 * 3) << " " );
}

このスクリプトでコンパイル:

c++ -I /usr/local/boost_1_51_0 example.cpp -o example

Linux / UNIX for Macでこのインクルードパスを追加する方法はありますか?コンパイル時に常にパスを入力する必要はありませんか?

4

1 に答える 1

1

簡単な答え:はい。

長い答え:あなたはそれをすべきではありません。

理由:コンパイル対象に関係なく、常に使用する特定のコンパイラフラグを追加すると、間違ったものが含まれたり、リンクされたりする状況になります。

makefileまたはコマンドラインで使用するフラグを明示的に指定することは常に良いことであり、このようなツールpkg-configを使用すると、これを面倒でエラーが発生しにくくすることができます。

于 2012-09-14T12:30:54.187 に答える