【发布时间】:2012-01-20 08:11:15
【问题描述】:
我正在编译一个包含一些标准库的代码,如 new、cmath 等...... 但 gcc 无法包含它们。
我使用 python3.2 distutils 来构建它。
它给了我这个错误:gcc fatal error: cmath: No such file or directory。我google了一下,可能是我的gcc配置不好,必须重新安装。
我尝试在我的 archlinux 电脑上重新安装 glibc 和 gcc 及其所有依赖项:sudo pacman -S --recursive glibc gcc 但没有任何改变。
可能是什么问题?
【问题讨论】:
-
在构建 C++ 程序时,应该使用
g++而不是gcc。g++为 C++ 正确设置包含路径,并确保正确的库和运行时与程序链接。 -
好的,问题是我刚刚将 swig 接口文件添加到 setup.py 源中,而没有带有 -c++ 选项的 swig_opts,因此 swig 正在生成一个 module.c 文件,gcc 将其编译为 C 源.所以我添加了
swig_opts=['-c++', '-py3'],它运行正常:)