在 msys2-mingw 上使用 Python/C API
use Python/C API on msys2-mingw
我尝试在msys2-mingw上使用Python/C API,所以我安装
这个包 mingw-w64-x86_64-python2
,我写 main.cpp
:
#include <python2.7\Python.h>
int main(){
return 0;
}
当我输入 $ g++ main.cpp -o main
时,
它给了我这些信息:
In file included from \msys64\mingw64\include/python2.7\Python.h:58:0,
from main.cpp:1:
\msys64\mingw64\include/python2.7\pyport.h:907:2: 錯誤:#error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
#error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
^
In file included from \msys64\mingw64\include/python2.7\Python.h:8:0,
from main.cpp:1:
/usr/include/cygwin/types.h:78:20: 錯誤:一個宣告指定了多個類型
typedef __uint32_t uid_t;
^
/usr/include/cygwin/types.h:78:20: 錯誤:沒有宣告任何東西 [-fpermissive]
/usr/include/cygwin/types.h:84:20: 錯誤:一個宣告指定了多個類型
typedef __uint32_t gid_t;
^
/usr/include/cygwin/types.h:84:20: 錯誤:沒有宣告任何東西 [-fpermissive]
makefile:2: recipe for target 'main' failed
make: *** [main] Error 1
我不知道为什么会这样。这不是关于 linking file
的错误(因为我没有 link 任何文件。)。是我的方法错了,还是我包含了错误的文件?
您混合使用 GCC:mingw-w64 GCC 和 msys GCC。对于 MSYS2 下的 mingw-w64 GCC,您不能包含来自 /usr 的内容。查看您的错误消息 /usr/include/cygwin/types.h
我尝试在msys2-mingw上使用Python/C API,所以我安装
这个包 mingw-w64-x86_64-python2
,我写 main.cpp
:
#include <python2.7\Python.h>
int main(){
return 0;
}
当我输入 $ g++ main.cpp -o main
时,
它给了我这些信息:
In file included from \msys64\mingw64\include/python2.7\Python.h:58:0,
from main.cpp:1:
\msys64\mingw64\include/python2.7\pyport.h:907:2: 錯誤:#error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
#error "LONG_BIT definition appears wrong for platform (bad gcc/glibc config?)."
^
In file included from \msys64\mingw64\include/python2.7\Python.h:8:0,
from main.cpp:1:
/usr/include/cygwin/types.h:78:20: 錯誤:一個宣告指定了多個類型
typedef __uint32_t uid_t;
^
/usr/include/cygwin/types.h:78:20: 錯誤:沒有宣告任何東西 [-fpermissive]
/usr/include/cygwin/types.h:84:20: 錯誤:一個宣告指定了多個類型
typedef __uint32_t gid_t;
^
/usr/include/cygwin/types.h:84:20: 錯誤:沒有宣告任何東西 [-fpermissive]
makefile:2: recipe for target 'main' failed
make: *** [main] Error 1
我不知道为什么会这样。这不是关于 linking file
的错误(因为我没有 link 任何文件。)。是我的方法错了,还是我包含了错误的文件?
您混合使用 GCC:mingw-w64 GCC 和 msys GCC。对于 MSYS2 下的 mingw-w64 GCC,您不能包含来自 /usr 的内容。查看您的错误消息 /usr/include/cygwin/types.h