代码之家  ›  专栏  ›  技术社区  ›  Excalibur

C++程序无法找到boost

  •  0
  • Excalibur  · 技术社区  · 8 年前

    我正在尝试编译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。然而,当我试图通过以下方式编译和安装MultiNEAT时

    sudo python setup.py install
    

    我有一个问题:

    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
    

    所以我的问题是:我如何才能让程序找到boost库并成功地编译MultiNEAT?我的系统是OS X Yosemite。谢谢

    1 回复  |  直到 8 年前
        1
  •  1
  •   GMichael    8 年前

    您必须更改编译定义以包含boost头文件。您可能需要将boost库(及其目录)添加到链接设置中。如果您发布了构建应用程序的方式,我本可以说得更多。

    推荐文章