diff --git a/README_VS_WIN.md b/README_VS_WIN.md new file mode 100644 index 0000000..7a7808f --- /dev/null +++ b/README_VS_WIN.md @@ -0,0 +1,15 @@ +Steps to setup the matplotlib-cpp for VS2022 (should also work VS2019, VS2017) for WIN + +1) clone the this repo +2) install the latest python (https://www.python.org/downloads/), for example, here is the patch for my installation C:\Users\yudan\AppData\Local\Programs\Python\Python310\ +3) install numpy => pip install numpy +4) add python and numpy path to your VS project + +C:\Users\yudan\AppData\Local\Programs\Python\Python310\Lib\site-packages\numpy\core\include;C:\Users\yudan\AppData\Local\Programs\Python\Python310\include; + +5) add python310.lib in the path and dependencies, note this only works for release build, need to find the python310_d.lib for debug version + +6) build the project + +You can just modify the matplotlib-cpp.vcxproj in the examples folder + diff --git a/examples/matplotlib-cpp.sln b/examples/matplotlib-cpp.sln new file mode 100644 index 0000000..48365fd --- /dev/null +++ b/examples/matplotlib-cpp.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.1.32319.34 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "matplotlib-cpp", "matplotlib-cpp.vcxproj", "{0721A463-993A-458F-BD76-3E6A768FE5D8}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0721A463-993A-458F-BD76-3E6A768FE5D8}.Debug|x64.ActiveCfg = Debug|x64 + {0721A463-993A-458F-BD76-3E6A768FE5D8}.Debug|x64.Build.0 = Debug|x64 + {0721A463-993A-458F-BD76-3E6A768FE5D8}.Debug|x86.ActiveCfg = Debug|Win32 + {0721A463-993A-458F-BD76-3E6A768FE5D8}.Debug|x86.Build.0 = Debug|Win32 + {0721A463-993A-458F-BD76-3E6A768FE5D8}.Release|x64.ActiveCfg = Release|x64 + {0721A463-993A-458F-BD76-3E6A768FE5D8}.Release|x64.Build.0 = Release|x64 + {0721A463-993A-458F-BD76-3E6A768FE5D8}.Release|x86.ActiveCfg = Release|Win32 + {0721A463-993A-458F-BD76-3E6A768FE5D8}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {3EB9E829-F1AE-409E-878B-8B6565A07F2C} + EndGlobalSection +EndGlobal diff --git a/examples/matplotlib-cpp.vcxproj b/examples/matplotlib-cpp.vcxproj new file mode 100644 index 0000000..4458efe --- /dev/null +++ b/examples/matplotlib-cpp.vcxproj @@ -0,0 +1,181 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + + + + + + 16.0 + {0721A463-993A-458F-BD76-3E6A768FE5D8} + Win32Proj + test + 10.0 + + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + C:\Users\yudan\AppData\Local\Programs\Python\Python310\Lib\site-packages\numpy\core\include;C:\Users\yudan\AppData\Local\Programs\Python\Python310\include;$(IncludePath) + $(SourcePath) + + + true + C:\Users\yudan\AppData\Local\Programs\Python\Python310\Lib\site-packages\numpy\core\include;C:\Users\yudan\AppData\Local\Programs\Python\Python310\include;$(IncludePath) + $(SourcePath) + + + false + C:\Users\yudan\AppData\Local\Programs\Python\Python310\Lib\site-packages\numpy\core\include;C:\Users\yudan\AppData\Local\Programs\Python\Python310\include;$(IncludePath) + $(SourcePath) + + + false + C:\Users\yudan\AppData\Local\Programs\Python\Python310\Lib\site-packages\numpy\core\include;C:\Users\yudan\AppData\Local\Programs\Python\Python310\include;$(IncludePath) + $(SourcePath) + + + + + + Level3 + true + _CRT_SECURE_NO_WARNINGS;WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + + + Console + true + python310.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + C:\Users\yudan\AppData\Local\Programs\Python\Python310\libs + + + + + + + Level3 + true + _CRT_SECURE_NO_WARNINGS;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + + + Console + true + python310.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + C:\Users\yudan\AppData\Local\Programs\Python\Python310\libs + + + + + + + Level3 + true + true + true + _CRT_SECURE_NO_WARNINGS;WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + + + Console + true + true + true + python310.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + C:\Users\yudan\AppData\Local\Programs\Python\Python310\libs + + + + + + + Level3 + true + true + true + _CRT_SECURE_NO_WARNINGS;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + true + + + + + Console + true + true + true + python310.lib;winmm.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + C:\Users\yudan\AppData\Local\Programs\Python\Python310\libs + + + + + + \ No newline at end of file diff --git a/matplotlibcpp.h b/matplotlibcpp.h index d95d46a..7ce4cc9 100644 --- a/matplotlibcpp.h +++ b/matplotlibcpp.h @@ -348,13 +348,14 @@ template <> struct select_npy_type { const static NPY_TYPES type = NPY template <> struct select_npy_type { const static NPY_TYPES type = NPY_ULONG; }; template <> struct select_npy_type { const static NPY_TYPES type = NPY_UINT64; }; +#ifndef _WIN32 // Sanity checks; comment them out or change the numpy type below if you're compiling on // a platform where they don't apply static_assert(sizeof(long long) == 8); template <> struct select_npy_type { const static NPY_TYPES type = NPY_INT64; }; static_assert(sizeof(unsigned long long) == 8); template <> struct select_npy_type { const static NPY_TYPES type = NPY_UINT64; }; - +#endif template PyObject* get_array(const std::vector& v) { pFad - Phonifier reborn Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved. Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages. Alternative Proxies:Alternative ProxypFad ProxypFad v3 ProxypFad v4 Proxy
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies:
Alternative Proxy
pFad Proxy
pFad v3 Proxy
pFad v4 Proxy