Сборка imusim с gcc для windows: файл vcruntime140.dll не распознан - PullRequest
0 голосов
/ 26 сентября 2019

Я пытаюсь построить imusim на Windows 10 с gcc (локально на C:\MinGW\bin\gcc.exe).Чтобы создать C-компоненты IMUSim, я запускаю:

$ python setup.py build_ext --compiler=mingw32 -liberty

Но я запускаю vcruntime140.dll: file not recognized следующим образом:

writing build\temp.win-amd64-3.6\Release\imusim\maths\quaternions.cp36-win_amd64.def
C:\MinGW\bin\gcc.exe -shared -s build\temp.win-amd64-3.6\Release\imusim\maths\quaternions.o 
build\temp.win-amd64-3.6\Release\imusim\maths\quaternions.cp36-win_amd64.def -LC:\Python36\libs - 
LC:\Python36\PCbuild\amd64 -lpython36 -lvcruntime140 -liberty -o build\lib.win-amd64- 
3.6\imusim\maths\quaternions.cp36-win_amd64.pyd
c:/mingw/bin/../lib/gcc/mingw32/6.3.0/../../../vcruntime140.dll: file not recognized: File format 
not recognized
collect2.exe: error: ld returned 1 exit status
error: command 'C:\\MinGW\\bin\\gcc.exe' failed with exit status 1

У меня есть эта строка в Python36/Lib/distutils/cygwinccompiler.py:

def get_msvcr():
    .
    .
    elif msc_ver == '1900':
        return ['vcruntime140']
    else:
        raise ValueError("Unknown MS Compiler version %s " % msc_ver)

Мне интересно, означает ли это, что Python был собран с MSVC, и я не должен использовать GCC для cython сборок.Я следил за этим постом безрезультатно.

...