ぷるぷるの雑記

低レイヤーがんばるぞいなブログ. 記事のご利用は自己責任で.

Visual Studio

Visual Studioがフォルダを移動してもビルドできる仕組み

Visual Studioで作成したソリューションやプロジェクトはフォルダごと場所を移動してもIDE上で正しくビルドすることが出来ます. ということはパスが自動的に解決されていることになりますが、その仕組みを簡単にまとめました. プロジェクトのマクロが関わっ…

Visual Studioのプロパティの主なマクロ

Visual Studioはマクロ(≒環境変数)を使用してビルドを行います. このマクロのうち重要そうなものをピックアップしました. バージョンはVS2017を対象にしていますが、最近のVSであれば大きく変わることはないはず. 相対パスで書かれたものは $(ProjectDir) …

C++でbind()が使えない

以下のコードはVisual StudioでWinsock2を使おうとしたときのものです. Microsoftのサンプルコードをコピペしただけなのでビルドできると思いきやコンパイルエラーになります. #include <iostream> #include<WinSock2.h> #include<ws2tcpip.h> #include<functional> /* これがないとリンク時にエラーになる </functional></ws2tcpip.h></winsock2.h></iostream>…

VC++のVisual Studioにおけるビルド

Visual Studio(MSBuild)でVC++をビルドするときの箇条書きメモ. MyProjectというウインドウを持つMFCプロジェクトのx64ビルドを想定. 実行環境 項目 説明 OS Windows11 Visual Studio 2017 ビルドターゲット x64 関連するパス パス 主なファイル 説明 C:\Pro…

VC++でOpenCVを利用する

ビルド済みのOpenCVをインストールしてVisual StudioのC++プロジェクトから利用してみます. 実行環境 インストール Visual Studioで空のプロジェクト作成 追加のインクルードディレクトリ 追加のライブラリディレクトリ 追加の依存ファイル ビルド&実行 トラ…

MSBuildとは

Visual Studioをインストールしたり、個別にBuild Tools for Visual StudioをインストールするとMSBuildがインストールされます. リファレンスでは以下のように説明されています. Microsoft Build Engine は、アプリケーションをビルドするためのプラットフ…

Microsoft Visual C++ Build Tools を個別に入れてみる

Visual Studio 2015のMicrosoft Visual C++ Build Toolsを個別に入れてみて実際のビルドには何が必要なのかを確認しました. 実行環境 項目 バージョン OS Windows11 22H2 Visual Studio 2015 インストーラーの取得 まずはVisual Studioの以前のバージョンを…

Visual Studio におけるC++の種類

なんかよくわからないですけどVisual StudioにおけるC++アプリケーションっていろんな種類があるじゃないですか. 自分なりにまとめてみました. 以下、Visual Studio上のC/C++を総称してMSVCと呼ぶことにします. 実行形式による区分 ネイティブコードの小区分…

LNK4098 defaultlib 'MSVCRTD' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。の解決方法

Visual Studio 2017で外部ライブラリをNuGetしたプロジェクトでビルドする際に「LNK4098 defaultlib 'MSVCRTD' は他のライブラリの使用と競合しています。/NODEFAULTLIB:library を使用してください。」が発生した. 公式リファレンスによれば、互換性のない…

MFCについてのメモ

MFC(Microsoft Foundation Class)についての知見がまとまってきたので、メモを残しておく. 主観や間違いが多分に含まれていると思うので、話半分に見てください. MFCとは 参考 MFCとイベントドリブン 参考 MFCの命名規則 参考 MSG構造体とメッセージ 参考 MF…

Windows.hとafxwin.hの場所

C:\Program Files(x86)以下で検索すれば簡単に見つかるが、たまに知りたくなるのでメモを残しておく. 比較的古い場合(少なくともVS6) ヘッダー名 場所 windows.h C:\Program Files(x86)\Microsoft SDKs\Windows\v.70A\include afxwin.h C:\Program Files(x86…