2016-04-27 2 views
0

Je suis en train de compiler le projet MultiNEAT (https://github.com/peter-ch/MultiNEAT). J'ai installé boost et boost-python, et il se trouve dans/usr/local/Cellar/boost. J'ai également édité ~/.bash_profile pour ajouter /usr/local/Cellar/boost/1.60.0_1/include à PATH. Cependant, lorsque je tente de compiler et d'installer MultiNEAT parLe programme C++ ne trouve pas d'amélioration

sudo python setup.py install 

Je reçois le problème:

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 

Ma question est la suivante: comment puis-je faire le programme trouve la bibliothèque boost et avec succès comiple MultiNEAT? Mon système est OS X Yosemite. Merci!

Répondre

1

Vous devez modifier vos définitions de compilation pour inclure les fichiers d'en-tête boost. Vous devrez peut-être ajouter les bibliothèques boost (et leurs répertoires) aux paramètres de liaison. J'aurais pu en dire plus si vous avez publié la façon dont vous construisez votre application.

+0

Salut @Michael, merci d'avoir répondu! J'ai téléchargé le code de MultiNEAT et j'ai essayé de construire l'application en exécutant le script python qu'il proposait 'sudo python setup.py install', en suivant les instructions sur http://multineat.com/download.html. Je ne suis pas très familier avec des choses comme CMake ou cc. Tout ce que je sais, c'est que le système est construit à travers le fichier setup.py. – Excalibur

+0

Ce que je vois dans le fichier 'setup.py' signifie que vous devez le modifier manuellement et ajouter les emplacements de vos fichiers d'en-têtes BOOST et des bibliothèques aux commandes appropriées. Il existe des expressions 'extra_compile_args =' et 'libraries =' à cette fin. – GMichael

+0

Oui, en fait, j'ai essayé cela, comme ajouter '-DBOOST_ROOT =/usr/local/Cellar/boost/1.60.0_1/include /' dans les expressions "extra_compile_args =", mais toujours pas réussi à compiler. – Excalibur