【问题标题】:C++ program cannot find boostC++程序找不到boost
【发布时间】:2016-08-21 06:53:14
【问题描述】:

我正在尝试编译 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。谢谢!

【问题讨论】:

    标签: c++ boost evolutionary-algorithm cc neuroscience


    【解决方案1】:

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

    【讨论】:

    • 嗨@Michael,感谢您的回答!我下载了 MultiNEAT 的代码,并尝试按照multineat.com/download.html 上的说明运行它提供的“sudo python setup.py install”python 脚本来构建应用程序。我对 CMake 或 cc 之类的东西不太熟悉。我只知道系统是通过 setup.py 文件构建的。
    • 我在setup.py 中看到的意思是您必须手动编辑它并将您的 BOOST 头文件和库的位置添加到相关命令中。为此,有 extra_compile_args=libraries= 表达式。
    • 是的,其实我试过了,比如在“extra_compile_args=”表达式中添加'-DBOOST_ROOT=/usr/local/Cellar/boost/1.60.0_1/include/',但还是编译失败.
    • 你应该添加类似-I/usr/local/Cellar/boost/1.60.0_1/include/-L/usr/local/Cellar/boost/1.60.0_1/lib的内容
    • 因为PATH与编译链接无关。他们做完全不同的事情。如果你打算用 C/C++ 开发,你应该研究编译过程。这是非常有用的知识。
    猜你喜欢
    • 1970-01-01
    • 2011-09-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-02
    • 2019-12-29
    • 1970-01-01
    • 2021-11-07
    • 1970-01-01
    相关资源
    最近更新 更多