2016-04-27 14 views
0

Ich versuche, das MultiNEAT-Projekt zu kompilieren (https://github.com/peter-ch/MultiNEAT). Ich habe Boost und Boost-Python installiert, und es befindet sich in/usr/local/Cellar/boost. Ich habe auch ~/.bash_profile bearbeitet, um /USR/local/Cellar/Boost/1.60.0_1/include zu PATH hinzuzufügen. Allerdings, wenn ich versuche MultiNEAT vonC++ - Programm kann keinen Boost finden

sudo python setup.py install 

zu kompilieren und installieren bekomme ich das Problem:

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 

Also meine Frage ist: Wie kann ich das Programm machen die Boost-Bibliothek gefunden und erfolgreich comiple MultiNEAT? Mein System ist OS X Yosemite. Vielen Dank!

Antwort

1

Sie müssen Ihre Kompilierungsdefinitionen so ändern, dass sie die Boost-Header-Dateien enthalten. Möglicherweise müssen Sie den Verknüpfungseinstellungen die Boost-Bibliotheken (und ihre Verzeichnisse) hinzufügen. Ich hätte mehr sagen können, wenn Sie die Art, wie Sie Ihre Anwendung erstellen, veröffentlicht haben.

+0

Hallo @Michael, danke für die Antwort! Ich habe den Code von MultiNEAT heruntergeladen und versucht, die Anwendung zu erstellen, indem ich das Python-Skript, das 'sudo python setup.py install' angeboten hat, ausführe, indem ich die Anweisungen auf http://multineat.com/download.html befolge. Dinge wie CMake oder cc sind mir nicht ganz geläufig. Ich weiß nur, dass das System über die Datei setup.py erstellt wird. – Excalibur

+0

Was ich in 'setup.py' sehe, bedeutet, dass Sie es manuell bearbeiten müssen und die Positionen Ihrer BOOST Header-Dateien und Bibliotheken den entsprechenden Befehlen hinzufügen müssen. Es gibt 'extra_compile_args =' und 'libraries =' Ausdrücke für diesen Zweck. – GMichael

+0

Ja, tatsächlich habe ich das versucht, z. B. "-DBOOST_ROOT =/usr/local/Cellar/boost/1.60.0_1/include /" in "extra_compile_args =" -Ausdrücke hinzufügen, konnte aber immer noch nicht kompilieren. – Excalibur

Verwandte Themen