Visual Studio

Visual Studio 2022でDiagnostic Toolsが動かない時

VSインストーラーから.NET開発環境(診断ツールは必須)を入れておく Visual Studio Standard Collector Serviceが開始されていることをWindowsサービスで確認する learn.microsoft.com 他のソフトウェアからの操作やVSのアンインストールなどが影響してVisu…

DLLにMQL5のdatetime型を引数として渡す時

MQL5のdatetime型はMQL5内ではlongと互換性があり64bit(8バイト)である。 64bitのC++プログラムに渡す場合、longが32bitでlong longが64bitの場合には、DLL側の引数の型をlong long型にする。 C++DLL側の引数を32bitのlong型にしてしまうと、ポインターか…

Visual C++ 2022でPLplotを使う際にフォントファイルが無いと怒られる場合

【環境】 Windows 11 64bit Visual Studio 2022 vcpkg 【問題】 vcpkgのリポジトリにPLplotがあったのでインストールし、サンプルプログラムを走らせてみたが、以下のエラーが出る。 *** PLPLOT ERROR, IMMEDIATE EXIT *** Unable to either (1) open/find o…

vcpkg+Visual Studio 2022でboostをビルドしてもvc140のライブラリしか生成されない時

【環境】 Windows 11 64bit Visual Studio 2022 vcpkg ツールは全て記事投稿時点で最新 【目的】 vc143(VC++2022)用のboostをvcpkgでビルドしてインストールする。【問題】 VS2022ツールセットしかインストールされていないにも関わらず、なぜかvc140とい…

libtorchに於いてleaf-tensorのgrad()を呼び出すと怒られる

libtorchの公式サンプルをいじっていて、ネットワークのリーフノードの勾配を取得したらどうなるか試した所、以下のようなWarningが出た。 y.grad() = [W TensorBody.h:494] Warning: The .grad attribute of a Tensor that is not a leaf Tensor is being a…

libtorchでmnist学習サンプルプログラムがデータのロード時にランタイムエラーや例外を出す時

LibtorchはPytorch C++ Frontendなどとも呼ばれており、Tensorflowなどに比べてVisual Studioへの組み込みが簡単なのだが、環境を構築した後に試せと至るところで書かれているMNISTデータセットでの学習サンプルプログラムがデータ読み込みの時点でよくコケ…

Windows10でTensorflow2のC++ライブラリビルドが出来た

前に一度試して、ビルド条件がとても面倒くさそうなので放置していたが、下の記事を参考にして試したところ、Windows10においてTensorflow2のC++ライブラリビルドに成功した。 qiita.com めちゃくちゃ勘違いしていたのだが、WSL2などは使わずにMSYSで出来…

TensorFlow C++ライブラリのWindows環境におけるビルド

Windowsで汎用的なディープラーニング系のC++ライブラリを選ぼうとすると、導入の簡単さではPyTorchが上だが、一応TensorFlowのC++ライブラリの導入にもなれておかないとなぁということでやってみた。多分使わないと思うが。 下記内容は基本的な流れだけであ…

vcpkgでwordnet

vcpkgでwordnetがサポートされていたので入れてみたが、wordnet.libがインストールされるパスは、ライブラリの参照先として認識されておらず、プロジェクトのプロパティに参照先としてその場所を指定するといろいろ不都合なので、libファイルだけを取り出し…

vcpkgでインストールしたパッケージとerror LNK2001

vcpkgでtripletをx64-windowsにしてインストールしたライブラリを使用してビルドした際に、error LNK2001、が出る場合。 vcpkg/triplet以下にあるx64-windows.cmakeへ以下の様に記述することで解決する公算が高い。 set(VCPKG_PLATFORM_TOOLSET v141) set(VC…

vcpkgにおけるboostのアンインストール

.\vcpkg.exe --triplet=x64-windows remove boost-uninstall --recurse PCにVS141以降しかインストールされて無くてもv140のバイナリしかインストールされない。tripletでツールセットバージョンv141を設定しても駄目。 v140とVS141はバイナリ互換性があるの…

Visual Studio 2022における自動整形

自動整形のタイプをVisual Studio形式にすると、変数の型が自動的に下記の様に整形されるように変更されている。変数の型なんだから&や*は型名にくっつけておけというポリシーを感じる。 わからんではない。 const std::string& _base mcpp.hatenablog.com

Visualo Studio 2022における参照型引数への右辺値渡しでエラー

Visual Studio 2022(VC17)においてC++言語標準を「Preview - Features from the Latest C++ Working Draft (/std:c++latest)」に設定してVisual Studio 2017(VC15、C++14)のソースをコンパイルしたところ、参照型引数に「右辺値」を渡すことが禁止されて…

Visual StudioでIntellisenseが働かない時

ソリューションと同じフォルダにある.vs隠しフォルダを消してソリューションをリロード・・・という説明が真っ先に出てくるが、それではどうもうまくいかない。 いろいろ検索してみたところ、テキストエディタのAdvancedオプションに、Recreate Databaseとい…

Visual Studio 2022とサードパーティライブラリの足並み

VS2022がリリースされて焼1年になるが、有用なサードパーティライブラリがVS2019にすら対応してない事も少なくなく、VS2017を主に使う理由になっていたりする。 そういうものに依存しない体制にしようとも思うが、ライブラリが有用すぎてジレンマが発生して…

Visual Studio 2022における条件付きブレークポイント

VS2022の変更点をチェックしている際に条件付きブレークポイントでクラスの構造を出力ウィンドウに表示してみた。 このあたりの仕様はさほど変わっていない様だが、VS2017等から比べるとブレークポイント到達時の挙動の設定などが増えている。 JSON形式で出…