2017-02-11 114 views
0

我使用MinGW64 GCC 4.8.1在Windows 10(64位)上爲Python 3.5.2(64位)編譯OpenCV 3.2.0。python在導入cv2時崩潰

但是,當我運行import cv2時,python崩潰。

與Visual Studio調試python.exe顯示以下堆棧跟蹤

python35.dll!PyUnicode_FromString(爲const char * U)線1884年
python35.dll!PyDict_GetItemString(_object * V,爲const char *鍵)線2810
python35.dll!add_getset(_typeobject *類型,PyGetSetDef * GSP)線4526
python35.dll!PyType_Ready(_typeobject *型)線4874
cv2.cp35-win_amd64.pyd!0000000070cee706()
...

任何想法?

我OpenCV的編譯過程:

cmake命令(CMake的3.7.2)是

cmake -G "MinGW Makefiles" -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -DOPENCV_EXTRA_MODULES_PATH=D:/opencv/source/opencv_contrib/modules D:/opencv/source/opencv -DBUILD_opencv_python3=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DBUILD_DOCS=OFF -DPYTHON_EXECUTABLE=D:/Python352/python.exe -DPYTHON_INCLUDE_DIRS=D:/Python352/include -DPYTHON_LIBRARY=D:/Python352/libs/libpython35.a 

然後,我mingw3-make編譯並沒有出現任何錯誤。我將生成的cv2.cp35-win_amd64.pyd(〜39 MB)移動到Python352/Lib/site-packages/

回答

0

我重新編譯使用Visual Studio 2015和生成的.pyd工作正常。一定是GCC的問題。