Несколько месяцев спустя я решил построить свой старый проект, который использует время выполнения Python. И это было чудо: релиз не построил бы, был неразрешенный внешний символ py_initialize и т. Д. Я поменял библиотеки:
#ifdef MS_COREDLL
# if !defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_BUILTIN)
/* not building the core - must be an ext */
# if defined(_MSC_VER)
/* So MSVC users need not specify the .lib
file in their Makefile (other compilers are
generally taken care of by distutils.) */
# if defined(_DEBUG)
# pragma comment(lib,"python311.lib")
# elif defined(Py_LIMITED_API)
# pragma comment(lib,"python3.lib")
# else
# pragma comment(lib,"python311_d.lib")
# endif /* _DEBUG */
# endif /* _MSC_VER */
# endif /* Py_BUILD_CORE */
#endif /* MS_COREDLL */
< /code>
и все сработало. Только релиз теперь требует отладочной сборки Python (Python311_d.dll).
Кто -нибудь знает причину этой магии? /> msvc sdk v 143 < /p>
< /li>
Flag -Flage Runtime Runtime /Mt < /code> < /p>
< /li>
Debug Flag /Mtd < /code> < /p>
< /li>
макрос установлен, в то время как релиз имеет
NODEBUG
Несколько месяцев спустя я решил построить свой старый проект, который использует время выполнения Python. И это было чудо: релиз не построил бы, был неразрешенный внешний символ py_initialize и т. Д. Я поменял библиотеки: [code]#ifdef MS_COREDLL # if !defined(Py_BUILD_CORE) && !defined(Py_BUILD_CORE_BUILTIN) /* not building the core - must be an ext */ # if defined(_MSC_VER) /* So MSVC users need not specify the .lib file in their Makefile (other compilers are generally taken care of by distutils.) */ # if defined(_DEBUG) # pragma comment(lib,"python311.lib") # elif defined(Py_LIMITED_API) # pragma comment(lib,"python3.lib") # else # pragma comment(lib,"python311_d.lib") # endif /* _DEBUG */ # endif /* _MSC_VER */ # endif /* Py_BUILD_CORE */ #endif /* MS_COREDLL */ < /code> и все сработало. Только релиз теперь требует отладочной сборки Python (Python311_d.dll). Кто -нибудь знает причину этой магии? /> msvc sdk v 143 < /p> < /li> Flag -Flage Runtime Runtime /Mt < /code> < /p> < /li> Debug Flag /Mtd < /code> < /p> < /li> макрос установлен, в то время как релиз имеет NODEBUG[/code].