我正在 Arch 2012.6 中构建 Boost 1.53.0(最新版本)。我之所以构建是因为我需要进行如下编译:
./b2 install --prefix=/usr/local/ cxxflags="-std=c++11"
具体来说,我需要提供cxxflags="std=c++11"
参数,但该参数似乎未在软件包中使用。我陷入困境,因为构建找不到正确的 Python 库。我已经使用 pacman 安装了和,python2
但python
我怀疑 boost 需要 Python 2 库,并且找不到所需的标头,因为 Arch“默认”为 Python 3。(你能看出我是 Arch 新手吗?)。
我觉得我可能能够提供更多信息b2
,可能还有论据linkflags
。但我有点走投无路了。
我收到的编译错误与此类似:
gcc.compile.c++ bin.v2/libs/python/build/gcc-4.8.1/release/link-static/threading-multi/object/function_doc_signature.o
In file included from ./boost/python/detail/prefix.hpp:13:0,
from ./boost/python/converter/registrations.hpp:8,
from libs/python/src/object/function_doc_signature.cpp:9:
./boost/python/detail/wrap_python.hpp:50:23: fatal error: pyconfig.h: No such file or directory
# include <pyconfig.h>
感谢任何帮助,谢谢大家!
答案1
添加-I/path/to/python/header/files/
到cxxflags
参数会告诉编译器在哪里找到相关的头文件。因此,我的构建命令变为:
./b2 install --prefix=/usr/local/ cxxflags="-std=c++11 -I/usr/include/python2.7/"