Closed shaohua121 closed 2 years ago
What's your way to build the SEAL lib?
Thank you for your reply. I use the two lines of commands in the documentation to build SEAL lib.
cmake -S . -B build -G Ninja -DSEAL_USE_MSGSL=OFF -DSEAL_USE_ZLIB=OFF -DSEAL_USE_ZSTD=OFF
cmake --build build
When I execute this line of code, have the following content.
cmake -S . -B build -G Ninja -DSEAL_USE_MSGSL=OFF -DSEAL_USE_ZLIB=OFF -DSEAL_USE_ZSTD=OFF
Performing Test SEAL_MEMSET_S_FOUND - Failed
-- Looking for explicit_bzero
-- Looking for explicit_bzero - not found
-- Looking for explicit_memset
-- Looking for explicit_memset - not found
-- Looking for pthread.h
-- Looking for pthread.h - not found
-- Found Threads: TRUE
-- Configuring done
-- Generating done
-- Build files have been written to: C:/Users/zsh/Desktop/forward privacy/SEAL-Python-master/SEAL/build
clear the build and try to build the dynamic SEAL lib, do some changes by the FAQ.
I have same problem on 32bit python interpreter. check the version of interpreter
import platform print(platform.architecture())
@Huelse Do you have any plan to develop on x86(32bit python interpreter)? OR Do you know why errors occur on x86?
We'll try to fix it in the next version, so if you have any suggestions feel free to ask!
Hello, I want to ask you some questions. When I execute this line of code, the error are reported.
python3 setup.py build_ext -i
Describe the bug seal-3.6.lib(plaintext.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(encryptionparams.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(ckks.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(valcheck.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(modulus.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(evaluator.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(encryptor.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(serialization.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(decryptor.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(batchencoder.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(ciphertext.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(ntt.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(galois.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(rns.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(uintcore.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(globals.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(mempool.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(keygenerator.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(kswitchkeys.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(context.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(croots.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(numth.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(uintarith.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(iterator.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(polyarithsmallmod.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(scalingvariant.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(rlwe.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(streambuf.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(common.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(randomgen.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(uintarithsmallmod.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) seal-3.6.lib(clipnormal.cpp.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(locale0.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(locale.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(iosptrs.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(xwctomb.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(wlocale.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(xlocale.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(xstol.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(xstoul.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(xstoll.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(xstoull.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(xlock.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(xstrcoll.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(xdateord.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(xwcscoll.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(xwcsxfrm.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(xgetwctype.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(xtowlower.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(xtowupper.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(xstrxfrm.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(xmtx.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(StlCompareStringA.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(StlCompareStringW.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(StlLCMapStringW.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) libcpmt.lib(StlLCMapStringA.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MT_StaticRelease”不匹配值“MD_DynamicRelease”(base64.obj 中) 正在创建库 build\temp.win32-3.9\Release\src\seal.cp39-win_amd64.lib 和对象 build\temp.win32-3.9\Release\src\seal.cp39-win_amd64.exp LINK : warning LNK4098: 默认库“LIBCMT”与其他库的使用冲突;请使用 /NODEFAULTLIB:library wrapper.obj : error LNK2001: 无法解析的外部符号 impPyThread_tss_create wrapper.obj : error LNK2001: 无法解析的外部符号 impPySequence_Size wrapper.obj : error LNK2001: 无法解析的外部符号 impPyUnicode_AsEncodedString wrapper.obj : error LNK2001: 无法解析的外部符号 impPyBaseObject_Type wrapper.obj : error LNK2001: 无法解析的外部符号 impPyMem_Calloc wrapper.obj : error LNK2001: 无法解析的外部符号 impPyExc_BufferError wrapper.obj : error LNK2001: 无法解析的外部符号 impPyObject_SetAttr wrapper.obj : error LNK2001: 无法解析的外部符号 impPyCFunction_Type wrapper.obj : error LNK2001: 无法解析的外部符号 impPyWeakref_NewRef wrapper.obj : error LNK2001: 无法解析的外部符号 impPyThreadState_Get wrapper.obj : error LNK2001: 无法解析的外部符号 impPySlice_AdjustIndices wrapper.obj : error LNK2001: 无法解析的外部符号 impPyLong_AsUnsignedLong wrapper.obj : error LNK2001: 无法解析的外部符号 impPyObject_Malloc wrapper.obj : error LNK2001: 无法解析的外部符号 impPySlice_Type wrapper.obj : error LNK2001: 无法解析的外部符号 impPyImport_ImportModule wrapper.obj : error LNK2001: 无法解析的外部符号 impPyBytes_AsString wrapper.obj : error LNK2001: 无法解析的外部符号 impPyErr_NormalizeException wrapper.obj : error LNK2001: 无法解析的外部符号 impPySequence_GetItem wrapper.obj : error LNK2001: 无法解析的外部符号 impPyErr_Occurred wrapper.obj : error LNK2001: 无法解析的外部符号 impPyLong_FromSsize_t wrapper.obj : error LNK2001: 无法解析的外部符号 impPyUnicode_DecodeUTF8 wrapper.obj : error LNK2001: 无法解析的外部符号 impPyEval_SaveThread wrapper.obj : error LNK2001: 无法解析的外部符号 imp___PyThreadState_UncheckedGet wrapper.obj : error LNK2001: 无法解析的外部符号 impPyExc_RuntimeError wrapper.obj : error LNK2001: 无法解析的外部符号 impPyObject_SetAttrString wrapper.obj : error LNK2001: 无法解析的外部符号 impPyLong_FromLong wrapper.obj : error LNK2001: 无法解析的外部符号 impPySlice_Unpack wrapper.obj : error LNK2001: 无法解析的外部符号 impPyInstanceMethod_Type wrapper.obj : error LNK2001: 无法解析的外部符号 impPyNumber_Xor wrapper.obj : error LNK2001: 无法解析的外部符号 impPyExc_MemoryError wrapper.obj : error LNK2001: 无法解析的外部符号 impPyLong_FromUnsignedLongLong wrapper.obj : error LNK2001: 无法解析的外部符号 impPy_GetVersion wrapper.obj : error LNK2001: 无法解析的外部符号 impPyCapsule_GetContext wrapper.obj : error LNK2001: 无法解析的外部符号 impPyDict_Contains wrapper.obj : error LNK2001: 无法解析的外部符号 impPyFrame_GetLineNumber wrapper.obj : error LNK2001: 无法解析的外部符号 impPyFloat_AsDouble wrapper.obj : error LNK2001: 无法解析的外部符号 impPyLong_AsUnsignedLongLong wrapper.obj : error LNK2001: 无法解析的外部符号 impPyGILState_Release wrapper.obj : error LNK2001: 无法解析的外部符号 impPyBytes_AsStringAndSize wrapper.obj : error LNK2001: 无法解析的外部符号 imp_Py_NoneStruct wrapper.obj : error LNK2001: 无法解析的外部符号 impPyLong_AsLongLong wrapper.obj : error LNK2001: 无法解析的外部符号 impPyTuple_New wrapper.obj : error LNK2001: 无法解析的外部符号 impPyDict_Size wrapper.obj : error LNK2001: 无法解析的外部符号 impPyLong_FromLongLong wrapper.obj : error LNK2001: 无法解析的外部符号 impPyFloat_FromDouble wrapper.obj : error LNK2001: 无法解析的外部符号 impPyList_Size wrapper.obj : error LNK2001: 无法解析的外部符号 impPyObject_LengthHint wrapper.obj : error LNK2001: 无法解析的外部符号 impPyErr_SetString wrapper.obj : error LNK2001: 无法解析的外部符号 impPyStaticMethod_New wrapper.obj : error LNK2001: 无法解析的外部符号 impPyIter_Next wrapper.obj : error LNK2001: 无法解析的外部符号 impPyObject_GetIter wrapper.obj : error LNK2001: 无法解析的外部符号 impPyExc_ValueError wrapper.obj : error LNK2001: 无法解析的外部符号 impPyLong_FromUnsignedLong wrapper.obj : error LNK2001: 无法解析的外部符号 impPyDict_Next wrapper.obj : error LNK2001: 无法解析的外部符号 impPyErr_Format wrapper.obj : error LNK2001: 无法解析的外部符号 impPyDict_Type wrapper.obj : error LNK2001: 无法解析的外部符号 impPyThreadState_New wrapper.obj : error LNK2001: 无法解析的外部符号 _impPy_FalseStruct wrapper.obj : error LNK2001: 无法解析的外部符号 impPyFloat_Type wrapper.obj : error LNK2001: 无法解析的外部符号 impPyMethod_Type wrapper.obj : error LNK2001: 无法解析的外部符号 impPyType_IsSubtype wrapper.obj : error LNK2001: 无法解析的外部符号 impPyErr_Restore wrapper.obj : error LNK2001: 无法解析的外部符号 impPyExc_OverflowError wrapper.obj : error LNK2001: 无法解析的外部符号 imp___Py_Dealloc wrapper.obj : error LNK2001: 无法解析的外部符号 impPyTuple_GetItem wrapper.obj : error LNK2001: 无法解析的外部符号 impPyCapsule_GetPointer wrapper.obj : error LNK2001: 无法解析的外部符号 impPyNumber_And wrapper.obj : error LNK2001: 无法解析的外部符号 impPyObject_CheckBuffer wrapper.obj : error LNK2001: 无法解析的外部符号 impPyErr_Fetch wrapper.obj : error LNK2001: 无法解析的外部符号 impPyObject_CallFunctionObjArgs wrapper.obj : error LNK2001: 无法解析的外部符号 impPyLong_AsLong wrapper.obj : error LNK2001: 无法解析的外部符号 impPyObject_ClearWeakRefs wrapper.obj : error LNK2001: 无法解析的外部符号 impPyUnicode_FromFormat wrapper.obj : error LNK2001: 无法解析的外部符号 impPyObject_GetBuffer wrapper.obj : error LNK2001: 无法解析的外部符号 impPyList_New wrapper.obj : error LNK2001: 无法解析的外部符号 impPyUnicode_DecodeUTF16 wrapper.obj : error LNK2001: 无法解析的外部符号 impPyModule_Create2 wrapper.obj : error LNK2001: 无法解析的外部符号 impPyNumber_Invert wrapper.obj : error LNK2001: 无法解析的外部符号 impPyType_Ready wrapper.obj : error LNK2001: 无法解析的外部符号 impPyObject_GetAttrString wrapper.obj : error LNK2001: 无法解析的外部符号 impPyErr_Clear wrapper.obj : error LNK2001: 无法解析的外部符号 impPyList_Append wrapper.obj : error LNK2001: 无法解析的外部符号 impPyObject_RichCompareBool wrapper.obj : error LNK2001: 无法解析的外部符号 impPyTuple_Size wrapper.obj : error LNK2001: 无法解析的外部符号 impPyThread_tss_get wrapper.obj : error LNK2001: 无法解析的外部符号 impPyException_SetTraceback wrapper.obj : error LNK2001: 无法解析的外部符号 impPyCapsule_New wrapper.obj : error LNK2001: 无法解析的外部符号 impPyCapsule_GetName wrapper.obj : error LNK2001: 无法解析的外部符号 impPyBytes_Size wrapper.obj : error LNK2001: 无法解析的外部符号 impPyDict_New wrapper.obj : error LNK2001: 无法解析的外部符号 impPyList_GetItem wrapper.obj : error LNK2001: 无法解析的外部符号 impPySequence_Check wrapper.obj : error LNK2001: 无法解析的外部符号 impPyInstanceMethod_New wrapper.obj : error LNK2001: 无法解析的外部符号 impPyObject_IsInstance wrapper.obj : error LNK2001: 无法解析的外部符号 impPyUnicode_DecodeUTF32 wrapper.obj : error LNK2001: 无法解析的外部符号 impPyMem_Free wrapper.obj : error LNK2001: 无法解析的外部符号 impPyExc_StopIteration wrapper.obj : error LNK2001: 无法解析的外部符号 impPyTuple_SetItem wrapper.obj : error LNK2001: 无法解析的外部符号 impPyCMethod_New wrapper.obj : error LNK2001: 无法解析的外部符号 impPyThread_tss_set wrapper.obj : error LNK2001: 无法解析的外部符号 impPyDict_GetItemString wrapper.obj : error LNK2001: 无法解析的外部符号 impPyObject_GetItem wrapper.obj : error LNK2001: 无法解析的外部符号 impPyObject_CallObject wrapper.obj : error LNK2001: 无法解析的外部符号 impPyObject_HasAttrString wrapper.obj : error LNK2001: 无法解析的外部符号 impPyProperty_Type wrapper.obj : error LNK2001: 无法解析的外部符号 impPyIndex_Check wrapper.obj : error LNK2001: 无法解析的外部符号 imp_Py_NotImplementedStruct wrapper.obj : error LNK2001: 无法解析的外部符号 impPyGILState_Ensure wrapper.obj : error LNK2001: 无法解析的外部符号 impPyCapsule_SetContext wrapper.obj : error LNK2001: 无法解析的外部符号 impPyNumber_Check wrapper.obj : error LNK2001: 无法解析的外部符号 impPyNumber_Long wrapper.obj : error LNK2001: 无法解析的外部符号 impPyThread_tss_alloc wrapper.obj : error LNK2001: 无法解析的外部符号 impPyThreadState_DeleteCurrent wrapper.obj : error LNK2001: 无法解析的外部符号 impPyExc_TypeError wrapper.obj : error LNK2001: 无法解析的外部符号 impPyThreadState_Clear wrapper.obj : error LNK2001: 无法解析的外部符号 impPyCapsule_Type wrapper.obj : error LNK2001: 无法解析的外部符号 impPyStaticMethod_Type wrapper.obj : error LNK2001: 无法解析的外部符号 impPyEval_GetBuiltins wrapper.obj : error LNK2001: 无法解析的外部符号 imp_PyObject_NextNotImplemented wrapper.obj : error LNK2001: 无法解析的外部符号 impPyDict_Copy wrapper.obj : error LNK2001: 无法解析的外部符号 impPyObject_Str wrapper.obj : error LNK2001: 无法解析的外部符号 impPyUnicode_AsUTF8String wrapper.obj : error LNK2001: 无法解析的外部符号 impPyModule_Type wrapper.obj : error LNK2001: 无法解析的外部符号 impPyExc_IndexError wrapper.obj : error LNK2001: 无法解析的外部符号 impPyExc_ImportError wrapper.obj : error LNK2001: 无法解析的外部符号 impPyCapsule_SetPointer wrapper.obj : error LNK2001: 无法解析的外部符号 _impPy_TrueStruct wrapper.obj : error LNK2001: 无法解析的外部符号 impPyExc_SystemError wrapper.obj : error LNK2001: 无法解析的外部符号 impPyObject_SetItem wrapper.obj : error LNK2001: 无法解析的外部符号 impPyDict_DelItemString wrapper.obj : error LNK2001: 无法解析的外部符号 impPyNumber_Or wrapper.obj : error LNK2001: 无法解析的外部符号 impPyUnicode_FromString wrapper.obj : error LNK2001: 无法解析的外部符号 impPyLong_FromSize_t wrapper.obj : error LNK2001: 无法解析的外部符号 impPyEval_AcquireThread wrapper.obj : error LNK2001: 无法解析的外部符号 imp___PyType_Lookup wrapper.obj : error LNK2001: 无法解析的外部符号 impPyGILState_GetThisThreadState wrapper.obj : error LNK2001: 无法解析的外部符号 impPyBuffer_Release wrapper.obj : error LNK2001: 无法解析的外部符号 impPyObject_Repr wrapper.obj : error LNK2001: 无法解析的外部符号 impPyNumber_Float wrapper.obj : error LNK2001: 无法解析的外部符号 impPyType_Type wrapper.obj : error LNK2001: 无法解析的外部符号 impPySequence_Tuple wrapper.obj : error LNK2001: 无法解析的外部符号 imp___PyObject_GetDictPtr build\lib.win32-3.9\seal.cp39-win_amd64.pyd : fatal error LNK1120: 142 个无法解析的外部命令 error: command 'C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.29.30133\bin\HostX86\x86\link.exe' failed with exit code 1120 Device\Environment System: Win 10 Python: 3.9.7 VS : 2019