2016-04-27 10 views
0

MultiNEATプロジェクト(https://github.com/peter-ch/MultiNEAT)をコンパイルしようとしています。 boostとboost-pythonがインストールされていて、/ usr/local/Cellar/boostにあります。 〜/ .bash_profileを編集して/usr/local/Cellar/boost/1.60.0_1/includeをPATHに追加しました。私はC++プログラムでブーストが見つかりません

sudo python setup.py install 

でMultiNEATをコンパイルしてインストールしようとすると、しかし、私は問題を取得する:

running install 
running build 
running build_py 
running build_ext 
building '_MultiNEAT' extension 
cc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -arch i386 -g -Os -pipe -fno-common -fno-strict-aliasing -fwrapv -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten-64-to-32 -DNDEBUG -g -fwrapv -Os -Wall -Wstrict-prototypes -DENABLE_DTRACE -arch x86_64 -arch i386 -pipe -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c src/Genome.cpp -o build/temp.macosx-10.11-intel-2.7/src/Genome.o -march=native -DUSE_BOOST_PYTHON -DUSE_BOOST_RANDOM -std=gnu++11 -g -Wall 
src/Genome.cpp:37:10: fatal error: 'boost/unordered_map.hpp' file not found 
#include <boost/unordered_map.hpp> 
    ^
1 error generated. 
error: command 'cc' failed with exit status 1 

だから私の質問は:どのように私はプログラムがブーストライブラリを発見し、成功しMultiNEATをcomipleすることができますか?私のシステムはOS X Yosemiteです。ありがとう!

答えて

1

ブーストヘッダーファイルを含めるようにコンパイル定義を変更する必要があります。可能であれば、ブーストライブラリ(およびそのディレクトリ)をリンケージ設定に追加する必要があります。アプリケーションを構築する方法を公開していれば、さらに多くのことが言えるかもしれません。

+0

こんにちは@Michael、お返事ありがとうございます!私はMultiNEATのコードをダウンロードし、http://multineat.com/download.htmlの指示に従って「sudo python setup.py install」を提供したPythonスクリプトを実行してアプリケーションを構築しようとしました。私はCMakeやCCのようなものには慣れていません。私が知っているのは、システムがsetup.pyファイルを通してビルドされているということだけです。 – Excalibur

+0

'setup.py'にあるのは、手作業でそれを編集し、BOOSTヘッダファイルとライブラリの場所を関連するコマンドに追加する必要があるということです。そのためには、 'extra_compile_args ='と 'libraries ='式があります。 – GMichael

+0

はい、実際には、「-DBOOST_ROOT =/usr/local/Cellar/boost/1.60.0_1/include /」を「extra_compile_args =」という式で追加しましたが、コンパイルに失敗しました。 – Excalibur