palotasb-conti <boldizsar.palo...@continental-corporation.com> added the comment:
I have the following internal, almost-minimal test case for this bug. It also relies on Boost Python, but that could be eliminated to produce a similar test case. # CMakeLists.txt cmake_minimum_required(VERSION 3.0) project(python-boost-mcve) set(Boost_USE_STATIC_LIBS ON) find_package(Boost COMPONENTS python36 REQUIRED) find_package(Python3 COMPONENTS Development REQUIRED) add_library(python-boost-mcve) target_link_libraries(python-boost-mcve PUBLIC Python3::Python Boost::python36) target_sources(python-boost-mcve PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/python-boost-mcve.cpp") // python-boost-mcve.cpp // 1. This is a bug with MSVC Python #if !defined(_MSC_VER) || _MSC_VER < 1900 # error "The MCVE requires Visual Studio 14.0 or higher" #endif // 2. An MSVC system header is required to reproduce the error for some reason, // perhaps it sets some macro. This needs to be BEFORE <boost/python.hpp> #include <array> // 3. Boost Python is required to include the system (MSVC) Python headers that // define _snprintf as a macro under the circumstances // #define HAVE_SNPRINTF // Define this macro as a workaround to fix the compile error #include <boost/python.hpp> // 4. Now we can observe that the following function won't compile #include <cstdio> void test() { char buf[2]; std::snprintf(buf, 1, "x"); // error C2039: '_snprintf': is not a member of 'std' [python-boost-mcve.vcxproj] } ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue36020> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com