cmake_cpp_pybind11_tutorial
cmake_cpp_pybind11_tutorial copied to clipboard
Build fails with multiple errors
The configure step runs without error. The build has so many errors, and such odd ones, that my first guess is that I need to update something. But what?
Python 3.11, Visual Studio 17.6.3.
Would you like me to try the latest pybind11.h before you look into this?
C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial>cmake --build build MSBuild version 17.6.3+07e294721 for .NET Framework
Checking Build System Building Custom Rule C:/Users/beryl/source/repos/cmake_cpp_pybind11_tutorial/CMakeLists.txt cl : command line warning D9002: ignoring unknown option '-O3' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutoria l\build\automobile.vcxproj] motorcycle.cpp C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\ostream(774,1): warning C4530 : C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc [C:\Users\beryl\source\repos\cmake_cp p_pybind11_tutorial\build\automobile.vcxproj] C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\cpp\src\motorcycle.cpp(16,15): message : see reference to funct ion template instantiation 'std::basic_ostream<char,std::char_traits
> &std::operator <<<std::char_traits >(s td::basic_ostream<char,std::char_traits > &,const char *)' being compiled [C:\Users\beryl\source\repos\cmake_cpp_p ybind11_tutorial\build\automobile.vcxproj] cl : command line warning D9002: ignoring unknown option '-O3' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutoria l\build\automobile.vcxproj] automobile.cpp C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\xmemory(154,5): error C2039: '_invalid_parameter': is not a member of ' global namespace'' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\ build\automobile.vcxproj] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\xmemory(154,5): error C3861: '_invalid_parameter': identifier not found [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobile.vc xproj] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\xmemory(164,5): error C2039: '_invalid_parameter': is not a member of '
global namespace'' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial
build\automobile.vcxproj] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\xmemory(164,5): error C3861: '_invalid_parameter': identifier not found [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobile.vc xproj] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\xmemory(1330,9): error C2039: 'invalid_parameter': is not a member of 'global namespace'' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial \build\automobile.vcxproj] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\xmemory(1330,1): error C3861: '_invalid_parameter': identifier not found [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobile.v cxproj] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\xpolymorphic_allocator.h(135, 13): error C2039: '_invalid_parameter': is not a member of '
global namespace'' [C:\Users\beryl\source\repos\cmake_cpp pybind11_tutorial\build\automobile.vcxproj] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\xpolymorphic_allocator.h(135, 1): error C3861: '_invalid_parameter': identifier not found [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\bu ild\automobile.vcxproj] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\xpolymorphic_allocator.h(142, 13): error C2039: 'invalid_parameter': is not a member of '`global namespace'' [C:\Users\beryl\source\repos\cmake_cpp pybind11_tutorial\build\automobile.vcxproj] C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\xpolymorphic_allocator.h(142, 1): error C3861: '_invalid_parameter': identifier not found [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\bu ild\automobile.vcxproj] C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build_deps\pybind11-src\include\pybind11\detail/internals.h(18 7,1): warning C4530: C++ exception handler used, but unwind semantics are not enabled. Specify /EHsc [C:\Users\beryl\so urce\repos\cmake_cpp_pybind11_tutorial\build\automobile.vcxproj] C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build_deps\pybind11-src\include\pybind11\cast.h(442,36): error C2027: use of undefined type '_frame' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobile.vcxpro j] c:\Users\beryl\AppData\Local\Programs\Python\Python311\include\pytypedefs.h(22,16): message : see declaration of '_fram e' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobile.vcxproj] C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build_deps\pybind11-src\include\pybind11\cast.h(444,29): error C2027: use of undefined type '_frame' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobile.vcxpro j] c:\Users\beryl\AppData\Local\Programs\Python\Python311\include\pytypedefs.h(22,16): message : see declaration of '_fram e' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobile.vcxproj] C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build_deps\pybind11-src\include\pybind11\cast.h(445,26): error C2027: use of undefined type '_frame' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobile.vcxpro j] c:\Users\beryl\AppData\Local\Programs\Python\Python311\include\pytypedefs.h(22,16): message : see declaration of '_fram e' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobile.vcxproj] C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build_deps\pybind11-src\include\pybind11/pybind11.h(2032,49): error C2039: 'frame': is not a member of 'ts' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobil e.vcxproj] c:\Users\beryl\AppData\Local\Programs\Python\Python311\include\cpython/pystate.h(82,8): message : see declaration of ' ts' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobile.vcxproj] C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build_deps\pybind11-src\include\pybind11/pybind11.h(2033): err or C2027: use of undefined type '_frame' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobile.vcxp roj] c:\Users\beryl\AppData\Local\Programs\Python\Python311\include\pytypedefs.h(22,16): message : see declaration of '_fram e' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobile.vcxproj] C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build_deps\pybind11-src\include\pybind11/pybind11.h(2034,1): e rror C2027: use of undefined type '_frame' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobile.vc xproj] c:\Users\beryl\AppData\Local\Programs\Python\Python311\include\pytypedefs.h(22,16): message : see declaration of '_fram e' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobile.vcxproj] C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build_deps\pybind11-src\include\pybind11/pybind11.h(2037,18): error C2027: use of undefined type '_frame' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobile.v cxproj] c:\Users\beryl\AppData\Local\Programs\Python\Python311\include\pytypedefs.h(22,16): message : see declaration of '_fram e' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobile.vcxproj] C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build_deps\pybind11-src\include\pybind11/pybind11.h(2037,30): error C2027: use of undefined type '_frame' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobile.v cxproj] c:\Users\beryl\AppData\Local\Programs\Python\Python311\include\pytypedefs.h(22,16): message : see declaration of '_fram e' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobile.vcxproj] C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build_deps\pybind11-src\include\pybind11/pybind11.h(2036,33): error C2660: 'PyDict_GetItem': function does not take 1 arguments [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutor ial\build\automobile.vcxproj] c:\Users\beryl\AppData\Local\Programs\Python\Python311\include\dictobject.h(22,24): message : see declaration of 'PyDic t_GetItem' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\automobile.vcxproj] C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build_deps\pybind11-src\include\pybind11/pybind11.h(2036,33): message : while trying to match the argument list '()' [C:\Users\beryl\source\repos\cmake_cpp_pybind11_tutorial\build\a utomobile.vcxproj]
OK, I copied the latest pybind11.h from github into the _deps directory and deleted the build directory to force a complete rebuild. Same observations: the configure step works, the build fails with what looks offhand like the same errors.