构建 libtorrent,找不到提升标头

Posted

技术标签:

【中文标题】构建 libtorrent,找不到提升标头【英文标题】:Building libtorrent, cannot find boost headers 【发布时间】:2015-08-19 10:33:50 【问题描述】:

我正在尝试构建 libtorrent library found here。

我已按照本教程中的说明进行操作,但在执行 bjam 命令后我收到错误提示

...failed gcc.compile.c++ bin\gcc-mingw-5.1.0\debug\link-static\threading-multi\src\parse_url.o...
gcc.compile.c++ bin\gcc-mingw-5.1.0\debug\link-static\threading-multi\src\ConvertUTF.o
In file included from include/libtorrent/ConvertUTF.h:91:0,
                 from src\ConvertUTF.cpp:42:
include/libtorrent/config.hpp:45:28: fatal error: boost/config.hpp: No such file or directory
compilation terminated.  

有人知道如何解决吗?

/编辑/ 我走得更远,我已经将每个包含目录从相对替换为绝对并且!!!仍然!!!我收到相同的错误:

...failed gcc.compile.c++ bin\gcc-mingw-5.1.0\debug\link-static\threading-multi\src\policy.o...
gcc.compile.c++ bin\gcc-mingw-5.1.0\debug\link-static\threading-multi\src\puff.o
In file included from src\puff.cpp:74:0:
C:/libtorrent/boost_1_59_0/boost/cstdint.hpp:36:28: fatal error: boost/config.hpp: No such file or directory
compilation terminated.

这怎么可能!?!?!

【问题讨论】:

通常 boost build 也会打印它执行失败的完整命令行。它可能会确认或否认是否为 boost 添加了正确的包含路径。 @Arvid,嗨,正如我已经在与您的电子邮件通信中解释的那样,boost root 设置正确,您在我的一封电子邮件中附上的屏幕截图中亲自看到了你。 【参考方案1】:

这看起来像是缺少带有标题的目录的路径。 你设置了 BOOST_ROOT 吗?

在构建 libtorrent 时,Jamfile 期望将环境变量 BOOST_ROOT 设置为 boost 安装目录。

【讨论】:

这没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post。 @Jost 谢谢你的解释。我需要删除我的答案吗? @Jost 嗯,在这种情况下,我认为这不是正确的选择。不要删除您的答案,它确实指出了导致该错误的原因。【参考方案2】:

为了让该库真正找到提升路径,需要使用 boost=source 参数调用 bjam。 Arvid 不知何故并没有使其明确/清晰。

【讨论】:

以上是关于构建 libtorrent,找不到提升标头的主要内容,如果未能解决你的问题,请参考以下文章

scrape_tracker 不使用 libtorrent 发出任何警报

使用 Wt c++ 时找不到 Postgres 标头

找不到标准标头的语言

libtorrent 内置跟踪器 [关闭]

使用 libtorrent (rasterbar) 获取上传活动警报

libtorrent 无法使用 VS2005 构建