i изолировал это в очень простой пример.
Код: Выделить всё
#pragma once
#ifdef SDETESTS_LIB_BIND_PYTHON_EXPORTS
/** Export symbols statement */
#define SDETESTS_LIB_BIND_PYTHON __declspec(dllexport)
#else
/** Import symbols statement */
#define SDETESTS_LIB_BIND_PYTHON __declspec(dllimport)
#endif
#ifdef __cplusplus
extern "C" {
#endif
SDETESTS_LIB_BIND_PYTHON void func(int lock);
#ifdef __cplusplus
}
#endif
Код: Выделить всё
#include "sdetests_lib_bind_python.h"
#include
#include
SDETESTS_LIB_BIND_PYTHON void func( int lock )
{
if (lock!=0)
{
std::cout
< /ul>
Версия файла в System32 IS 14.42.3480.0
версия файла на Pyq Is Is Is Is Is-Folder IS-FoldER 14.26.28720.3 < /p>
Если я удалю msvcp140.dll из папки Pyqt5, или замените его на копию той, которая найдена в System32, сбой исчезает. Так что это является основной причиной проблемы. Но как это исправить? Не приемлемо сообщить каждому пользователю моего DLL взломать pyqt5 (или любой другой модуль, используя msvcp140.dll) таким образом ....
Подробнее здесь: [url]https://stackoverflow.com/questions/79498634/loading-standard-c-library-makes-ctypesgens-python-binding-crash-if-library-i[/url]