Huelse / SEAL-Python

Microsoft SEAL 4.X For Python
MIT License
324 stars 65 forks source link

Configuration problem under Windows 10 #72

Closed shaohua121 closed 2 years ago

shaohua121 commented 3 years ago

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

Huelse commented 3 years ago

What's your way to build the SEAL lib?

shaohua121 commented 3 years ago

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

shaohua121 commented 3 years ago

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

Huelse commented 3 years ago

clear the build and try to build the dynamic SEAL lib, do some changes by the FAQ.

jameskwon07 commented 3 years ago

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?

Huelse commented 3 years ago

We'll try to fix it in the next version, so if you have any suggestions feel free to ask!