用PiP安装Pydaedalus时Cstdint缺失错误

时间:2017-11-15 14:32:13

标签: python python-3.x pip cstdint

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

$pip3.6 install pydaedalus

这会返回以下错误:

-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

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

1 个答案:

答案 0 :(得分:0)

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

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

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

CXX=clang++ pip3.6 install pydaedalus

尝试使用这些环境设置的各种组合(例如,CXXCFLAGS),并希望最终会有效。