質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

1回答

1448閲覧

visual studio 2022、または、2019に、matplotlibのインストール方法について

kishidamisao

総合スコア17

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2023/12/19 02:55

visual studio 2019にmatplotlibをインストールしたのですが、
グラフを表示すると、例外が発生しました「0x00007FFE4D8ACF19で発生しました」と出力され「Error loading moduling module matplotlib"」されます。

インストールについて
1:CMake3.18.0をインストール
2:python3.6.8をインストール
3:matplotlib-cppをインストール
4:外部includeの設定
5:外部libの設定

実行結果
1:matplotlibのサンプルを実行
#include "../matplotlibcpp.h"
mamespace matplotlibcpp

int main() {
plt::plot({1,3,2,4}); <-ここで例外が発生
plt::show(();
}

2:上記エラーが発生します。
python3.6.8をpython3.8.10に変更しても
同様のエラーが発生します。

visual studio 2022にmatplotlibをインストール
したいのですが2019でに方法したか見つからなかったので
2022でのインストール方法を知っている方
すみませんが教えてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kishidamisao

2023/12/19 04:16

やって欲しい事は、WINDWS10 版のvisual studioにC++のmatplototlibをインストールする方法を ご存知のかたがいらした、インストール方法を教えてください。 または、plt::plot()を使用すると例外がは発生するので、対策方法をご存知の方がいらしたら対処方法を 教えてください。
kishidamisao

2023/12/19 08:01

visual studio 2019にインストールのでWinBuild.cmdを以下に書き換えました。 @echo off @setlocal EnableDelayedExpansion REM ------Set Your Environment------------------------------- if NOT DEFINED MSVC_VERSION if NOT DEFINED MSVC_VERSION set MSVC_VERSION=16 <--15から16へ変更 if NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Release if NOT DEFINED PYTHONHOME set PYTHONHOME=pyson28<--バスを変更 REM --------------------------------------------------------- set KEY_NAME="HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\SxS\VS7" set VALUE_NAME=15.0 if "%MSVC_VERSION%"=="14" ( if "%processor_architecture%" == "AMD64" ( set CMAKE_GENERATOR=Visual Studio 14 2015 Win64 ) else ( set CMAKE_GENERATOR=Visual Studio 14 2015 ) ) else if "%MSVC_VERSION%"=="12" ( if "%processor_architecture%" == "AMD64" ( set CMAKE_GENERATOR=Visual Studio 12 2013 Win64 ) else ( set CMAKE_GENERATOR=Visual Studio 12 2013 ) ) else if "%MSVC_VERSION%"=="15" ( if "%processor_architecture%" == "AMD64" ( set CMAKE_GENERATOR=Visual Studio 15 2017 Win64 ) else ( set CMAKE_GENERATOR=Visual Studio 15 2017 ) ) else if "%MSVC_VERSION%"=="16" ( <ーここ追加   set CMAKE_GENERATOR=Visual Studio 16 2019 ) if "%MSVC_VERSION%"=="15" ( for /F "usebackq tokens=1,2,*" %%A in (`REG QUERY %KEY_NAME% /v %VALUE_NAME%`) do ( set batch_file=%%CVC\Auxiliary\Build\vcvarsall.bat ) ) else if "%MSVC_VERSION%"=="16" ( <--ここ追加   set batch_file="%ProgramFiles(x86)%¥Microsoft Visual  Studio¥2019¥Community¥VC¥Auxiliary¥Build¥vcvarsall.bat" ) else ( set batch_file=!VS%MSVC_VERSION%0COMNTOOLS!..\..\VC\vcvarsall.bat ) call "%batch_file%" %processor_architecture% pushd .. pushd examples if NOT EXIST build mkdir build pushd build cmake -G"!CMAKE_GENERATOR!" ^ -DPYTHONHOME:STRING=%PYTHONHOME%^ -DCMAKE_BUILD_TYPE:STRING=%CMAKE_CONFIG% ^ %~dp0 cmake --build . --config %CMAKE_CONFIG% pushd %CMAKE_CONFIG% if not EXIST platforms mkdir platforms if EXIST %PYTHONHOME%/Library/plugins/platforms/qwindows.dll ^ cp %PYTHONHOME%/Library/plugins/platforms/qwindows.dll ./platforms/ popd REM move ./%CMAKE_CONFIG% ../ popd popd popd @endlocal “WinBuild.cmd”を実行するとmatplotlibcpp.hでビルドエラーが発生 'et local’は、内部コマンドまたは、が外部コマンド、操作可能なプログラムまたは、バッチファイルとして認識されません。 'Not'は、内部コマンドまたは、が外部コマンド、操作可能なプログラムまたは、バッチファイルとして認識されません。 : Cmake Error:Could not create named !CMAKE_GENERATOR! : Error: could not load cache と表示され終了します。 examplesフォルダ内にはサンプルが保存されていますが、 build/platformsフォルダにはなにも保存かれていません。 たぶん「WinBuild.cmd」がおかしいのではと思います。 すみませんが、原因が分かる方いれば教えてください。
guest

回答1

0

pythonのmathplotlibモジュールがインストールされていないせいの様な気がしますが、インストールされましたか?

WinBuild.cmdは親切にも自分でVSの環境変数設定バッチを呼び出そうとしているのですが、「x64 Native Tools Command Prompt for VS 2022」などを開けば設定済みなので、10行目から39行目までは要らないです。
CMakeで使う変数を直接設定してしまえばよいです。

手元では以下の内容で動きましたのでご参考に。(VS2022)
サンプルも動作しています。

@echo on @setlocal EnableDelayedExpansion REM ------Set Your Environment------------------------------- if NOT DEFINED MSVC_VERSION set MSVC_VERSION=17 if NOT DEFINED CMAKE_CONFIG set CMAKE_CONFIG=Release if NOT DEFINED PYTHONHOME set PYTHONHOME="c:\Programs\Python312" REM --------------------------------------------------------- set CMAKE_GENERATOR=Visual Studio 17 2022 pushd .. pushd examples if NOT EXIST build mkdir build pushd build cmake -G"%CMAKE_GENERATOR%" ^ -DPYTHONHOME:STRING=%PYTHONHOME% ^ -DCMAKE_BUILD_TYPE:STRING=%CMAKE_CONFIG% ^ %~dp0\.. cmake --build . --config %CMAKE_CONFIG% pushd %CMAKE_CONFIG% if not EXIST platforms mkdir platforms if EXIST %PYTHONHOME%/Library/plugins/platforms/qwindows.dll ^ cp %PYTHONHOME%/Library/plugins/platforms/qwindows.dll ./platforms/ popd REM move ./%CMAKE_CONFIG% ../ popd popd popd @endlocal

投稿2023/12/19 10:07

Squirrels

総合スコア29

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kishidamisao

2023/12/19 10:11

ありがとうございます。早速試してみます。
kishidamisao

2023/12/20 06:28

CMaekは成功したのですが、 コンパイルすると以下のエラーと警告が発生しました。 調べてみたところ、pyson3.12では、非推奨とのことなので、 pysonのバージョンを下げるしかた方法は無いのでしょうか。 すみませんが、対処方法を教えてください。 重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態 詳細 エラー C4996 'Py_SetProgramName': deprecated in 3.11 test_matplotlib2020 C:\local\matplotlib-cpp\matplotlibcpp.h 174 エラー C4996 'PySys_SetArgv': deprecated in 3.11 test_matplotlib2020 C:\local\matplotlib-cpp\matplotlibcpp.h 182 警告 C4244 '=': 'size_t' から '_Ty' への変換です。データが失われる可能性があります。 with [ _Ty=double ] test_matplotlib2020 C:\local\matplotlib-cpp\matplotlibcpp.h 1813
Squirrels

2023/12/21 03:26

手元ではpython3.12でWinBuild.cmdでexampleのビルドまで終わります。 C4996は出ますが、C4996はデフォルトでは警告です。 C4996を設定でエラーにしている筈です。 C4244が警告のままなのですべての警告をエラーにするではなく、SDLチェックが有効なのではないでしょうか。
kishidamisao

2023/12/25 12:01

SDLを有効にしていますが、無効にして行うとエラーは表示されませんが、警告場所で落ちました。 そのため、pysonのバージョンを3.8.9?に変更して動くようになりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問