使用 PiP 安装 Pydaedalus 时 Cstdint 丢失错误

Cstdint Missing Error When Installing Pydaedalus with PiP

我正在开发一个涉及路线查找的应用程序(一个完全不同的主题),但为了测试,我需要示例迷宫来进行测试。一位同事建议我使用 pydaedalus 以我需要的格式生成大型迷宫。我正在使用以下代码尝试安装模块:

$pip3.6 install pydaedalus

此returns以下错误:

-Wno-error=format-security
In file included from daedalus/_maze.cpp:467:
In file included from daedalus/wrapper.h:8:
daedalus/src/util.h:31:10: fatal error: 'cstdint' file not found
#include <cstdint>
             ^
1 error generated.
error: command '/usr/bin/clang' failed with exit status 1

我做了一些研究,但没有找到解决这个问题的方法。我还使用 cstdint 进行了一些(有限的)C++ 开发,它一直有效。

我遇到了 this question,但它似乎解决了另一个问题。
我正在 OSX 10.10.5

开发

非常感谢您提供的任何帮助!

这些编译错误归因于 daedalus 对 C++11 标准的要求,在 Mac OS X 上工作有时有点棘手。一个想法可能是检查确保您的 Xcode 是完全最新的。 您 linked 的页面还建议尝试 linking 针对 clang 的标准库而不是 GCC 标准库。我不确定这是否可行,或者它是否会给你 linking 构建错误或当你将 daedalus 导入 python 时,但你还是可以试一试:

CFLAGS='-stdlib=libc++' pip3.6 install pydaedalus

另一个想法是鼓励 pip 使用 clang++ 前端,您的 link 也建议这可能会有所帮助。您应该可以使用环境变量 CXX(或者可能 CC)来设置它。

CXX=clang++ pip3.6 install pydaedalus

尝试这些环境设置的各种组合(例如,CXXCFLAGS),希望最终能奏效。