Я успешно следовал этим инструкциям .Но на этот раз я застреваю на шаге nmake
с ошибками LNK2019 (неразрешенный внешний символ) и предупреждением LNK4272: тип библиотечного компьютера 'x86' конфликтует с типом целевого компьютера 'x64'.
Эта часть проста:
C:\Users\sberm>cd \python27\compilation\sip-4.19.12
C:\Python27\compilation\sip-4.19.12>python configure.py
This is SIP 4.19.12 for Python 2.7.14 on win32.
The SIP code generator will be installed in c:\python27.
The sip.h header file will be installed in c:\python27\include.
The sip module will be installed in c:\python27\Lib\site-packages.
The sip.pyi stub file will be installed in c:\python27\Lib\site-packages.
The default directory to install .sip files in is c:\python27\sip.
Creating sipconfig.py...
Creating top level Makefile...
Creating sip code generator Makefile...
Creating sip module Makefile...
C:\Python27\compilation\sip-4.19.12>"C:\Qt\Qt5.11.2\5.11.2\msvc2015\bin\qtenv2.bat"
Setting up environment for Qt usage...
Remember to call vcvarsall.bat to complete environment setup!
Здесь я должен отклониться от инструкций, потому что vcvarsall.bat теперь требует такой параметр, как x86, amd64, x86_amd64 и т. Д. У меня есть 64-битная копия Windows, но VS Community 2017 - 32-немного, мой Python 32-битный, поэтому я использовал x86:
C:\Qt\Qt5.11.2\5.11.2\msvc2015>"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x86
**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.8.5
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************
[vcvarsall.bat] Environment initialized for: 'x86'
C:\Qt\Qt5.11.2\5.11.2\msvc2015>cd c:\python27\compilation\sip-4.19.12
Здесь все идет не так, как надо:
c:\Python27\compilation\sip-4.19.12>nmake
Microsoft (R) Program Maintenance Utility Version 14.15.26730.0
Copyright (C) Microsoft Corporation. All rights reserved.
cd sipgen
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\bin\HostX86\x86\nmake.exe"
Microsoft (R) Program Maintenance Utility Version 14.15.26730.0
Copyright (C) Microsoft Corporation. All rights reserved.
cd siplib
"C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\bin\HostX86\x86\nmake.exe"
Microsoft (R) Program Maintenance Utility Version 14.15.26730.0
Copyright (C) Microsoft Corporation. All rights reserved.
link /NOLOGO /DYNAMICBASE /NXCOMPAT /DLL /MANIFEST /MANIFESTFILE:sip.pyd.manifest /SUBSYSTEM:CONSOLE /INCREMENTAL:NO /OUT:sip.pyd @C:\Users\sberm\AppData\Local\Temp\nmBA17.tmp
Creating library sip.lib and object sip.exp
siplib.obj : error LNK2019: unresolved external symbol __imp___acrt_iob_func referenced in function sip_api_trace
[snip, lots of errors like this, then...]
c:\python27\libs\python27.lib : warning LNK4272: library machine type 'x86' conflicts with target machine type 'x64'
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.15.26726\lib\x86\MSVCRT.lib : warning LNK4272: library machine type 'x86' conflicts with target machine type 'x64'
sip.pyd : fatal error LNK1120: 163 unresolved externals
Я посмотрел на это решение и ясогласен с ФП в том, что предлагаемое здесь решение не имеет отношения к проекту Visual C.Я звонил vcvarsall.bat с x86, так что я не уверен, что будет дальше.