我尝试对rpy2进行编码时遇到错误:

./rpy/rinterface/_rinterface.c:2376:3: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]

(还有更多类似的东西)

这是Python对编译器的调用:
gcc -pthread -Werror=declaration-after-statement -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DR_INTERFACE_PTRS=1 -DHAVE_POSIX_SIGJMP=1 -DRIF_HAS_RSIGHAND=1 -DCSTACK_DEFNS=1 -DHAS_READLINE=1 -I./rpy/rinterface -I/home/hen/miniconda3/envs/fitts/include/python3.4m -I/usr/share/R/include -c ./rpy/rinterface/_rinterface.c -o build/temp.linux-x86_64-3.4/./rpy/rinterface/_rinterface.o

最佳答案

通过一些谷歌搜索,我确定问题出在-Werror=declaration-after-statement标志。试图找出此标志的来源。我最终遇到了this Python issue:



在修复程序成功之前,可以通过运行以下命令解决此问题

export CFLAGS="-Wno-error=declaration-after-statement"

在运行pip installpython setup.py install之前。

关于python - 由于-Werror = declaration-after-statement而在python3.4上编译rpy2时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25587039/

10-09 21:23