読者です 読者をやめる 読者になる 読者になる

小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


【VS2015】コマンドラインからvcprojをvcxprojファイルにコンバートする

はじめに Visual Studio 2015にアップグレードする際、既存のソリューションをVisual Studio 2015で開ける形式にコンバートする必要があります。 手動で1つずつファイルを開いてコンバートすることもできますが、ソリューションの数が多いと面倒です。 コマ…

【VS2015】error LNK2026: モジュールは SAFESEH イメージには安全ではありません。

www.visualstudio.com はじめに Visual Studio 2015でソリューションをビルドした際に、以下のエラーになる場合があります。 error LNK2026: モジュールは SAFESEH イメージには安全ではありません。 対処方法 ソリューションのプロパティから、「リンカー」…

【VS2015】warning LNK4075: /EDITANDCONTINUE は /SAFESEH の指定によって無視されます。

www.visualstudio.com はじめに Visual Studio 2015でソリューションをビルドした際に、以下のエラーになる場合があります。 warning LNK4075: /EDITANDCONTINUE は /SAFESEH の指定によって無視されます。 対処方法 ソリューションのプロパティから、「リン…

【VS2015】fatal error CVT1100: 重複するリソースです。

www.visualstudio.com はじめに Visual Studio 2015でソリューションをビルドした際に、以下のエラーになる場合があります。 fatal error CVT1100: 重複するリソースです。 type:VERSION, name:1, language:0x0411 fatal error LNK1123: COFF への変換中に障…

【VS2015】error C3688: リテラル サフィックス 'L' が無効です。

www.visualstudio.com はじめに Visual Studio 2015でソリューションをビルドした際に、以下のエラーになる場合があります。 error C3688: リテラル サフィックス 'L' が無効です。リテラル演算子またはリテラル演算子テンプレート 'operator ""L' が見つか…

【VS2015】warning MSB8012: TargetPath(xxx) does not match the Linker's OutputFile property value (xxx).

www.visualstudio.com はじめに Visual Studio 2015でソリューションをビルドした際に、以下のエラーになる場合があります。 warning MSB8012: TargetPath(xxx) does not match the Linker's OutputFile property value (xxx). This may cause your project …

VCProjectEngine の初期化に失敗しました。

はじめに Visual Studio 2005のvcprojファイルをvcupgrade.exeを使ってアップグレードしようとしたら、以下のエラーになりました。 Microsoft(R) Visual C++ プロジェクト変換ユーティリティ - バージョン 14.00.24720 Copyright (C) Microsoft Corporation.…

Visual Studio 2015でnafxcw.lib(afxmem.obj) : error LNK2005のエラー

はじめに Visual Studio 2005で作成したソリューションをVisual Studio 2015でビルドした際に以下のエラーになりました。 nafxcw.lib(dllmodul.obj) : error LNK2005: _DllMain@12 は既に LIBCMT.lib(dll_dllmain_stub.obj) で定義されています。 nafxcw.lib…

LNK1281:SAFESEH イメージを生成できませんの解消

はじめに Visual Studio 2005で作成したソリューションをVisual Studio 2015でビルドした際にLNK1281のエラーになりました。 fatal error LNK1281: SAFESEH イメージを生成できません。 error LNK2026: モジュールは SAFESEH イメージには安全ではありません…

Visual Studio 2015の日本語化パッチの入手先

Visual Studio 2015の日本語化パッチはこちら。Community Editionにも使えるよ。 Download Microsoft Visual Studio 2015 Language Pack from Official Microsoft Download Center

C1083: include ファイルを開けません。'SDKDDKVer.h':No such file or directory

はじめに コマンドラインからVisual Studioのソリューションをコンパイルしようとしたら、C1083のエラーになってしまいました。 fatal error C1083: include ファイルを開けません。'SDKDDKVer.h':No such file or directory Windows SDKがないことが原因か…

Visual Studio 2013でダブルクリックで変数をハイライトする

はじめに Visual Studioのアドオン「progressive-scroll」というアドオンを利用すると、ダブルクリックするだけで任意の変数をハイライトすることができます。 プログラマーには地味にありがたい機能ですね。 progressive-scrollの入手 以下のページからvsix…

Visual Studio Community 2013の外観の配色を変更する方法

はじめに Visual Studio Community 2013では、設定でアプリケーションの外観の配色を変更できます。 Visual Studio Community 2013のの配色を変更する 1.ツール(T)からオプション(O)を選択します。 2.環境→全般から配色テーマ(C)で濃色、淡色、青の3種…

Visual Studio Community 2013 + CppcheckでC++コードの静的解析を行う。

はじめに C++のソースコードをいくら目を凝らしてレビューしてもすべての不具合を見つけることはできません。機械的にチェックできるところは、機会に任せてしまったほうが効率的です。 この記事では、Visual Studio Community 2013とCppcheckを連携させて、…

error MSB8031: Building an MFC project for a non-Unicode character set is deprecated

はじめに Visual Studio Community 2013でMFCのソリューションをビルドしようとしたら、以下のエラーになりました。 error MSB8031: Building an MFC project for a non-Unicode character set is deprecated. You must change the project property to Unic…

無料ではじめるVC++(Visual Studio Community 2013編)

はじめに この記事では、無料で利用できる開発環境(Visual Studio Community 2013)をWindows7にインストールして、C++の開発環境を構築するまでの手順について書いています。Visual C++ 2013パーフェクトマスター (Perfect Master SERIES)posted with amazle…

vcbuild.exeで並列コンパイルを行う

photo credit: angelocesare via photopin cc はじめに vcbuild.exeで並列ビルドを行うには、/Mnのようなオプションを指定します。nのところにはコンピュータに搭載されているプロセッサ数を指定します。 ソリューションが大量にあり、ビルドに時間がかかっ…

Visual Studioでデバッグ中にコードを変更する(エディットコンティニュ)

photo credit: marcp_dmoz via photopin cc はじめに Visual Studio 2005(C++)では、エディットコンティニュという機能でデバッグ中にコードを変更することができます。 エディットコンティニュを利用すると、デバッグを中止せずに、コードを変更して、デバ…

Visual Studioでできる条件付きブレークポイント

photo credit: visualpanic via cc はじめに for文やwhile文などループ処理をデバッグするときに、ループの回数がとても大きくて、目的の回数に達するまでF5キーを押すのが面倒になることがあります。 こんなときは、Visual Studioの条件付きブレークポイン…

Visual Studio 2013 ExpressでC言語の静的コード解析を行う

はじめに マイクロソフトが無償で公開しているVisual Studio 2013 Express(Visual Studio 2013 Express for Windows Desktop)では、C++コードの静的コード解析ができます。 この記事では、Visual Studio 2013 ExpressでC++コードのコード解析を行ってみます…

#ifdef _MSC_VER >= nみたいなコードの意味

はじめに 昔のコードを眺めていたら、_MSC_VERを使った以下のようなコードに出会いました。 #ifdef _MSC_VER >= n #pragma once #endif _MSC_VERってなんだろうと思ったら、開発環境のバージョンでした。プログラミングメモ _MSC_VER _MSC_VERの意味 _MSC_VE…

Visual StudioでMSVCR90.dllに依存しないDLLやEXEを作成する

photo credit: epSos.de via photopin cc はじめに Visual Studioでexeやdllを作成すると、自動的にMSVCR80.dllやMSVCR90.dllといったランタイムライブラリをリンクしてしまいます。 ランタイムライブラリが存在しない環境だと作ったexeやdllが動かないので…

VC++のBOOLとbool型の違い

はじめに Visual C++において、BOOL型とbool型は微妙に違います。 BOOLはint型、boolはbool型 以下のようなサンプルプログラムで違いを見てみます。 bool hoge = FALSE; // false BOOL fuga = FALSE; // 0 int iSize; iSize = sizeof(hoge); // > 1byte iSiz…

Visual Studioでリリースビルドをデバッグする

はじめに Visual Studio(VC++)には、リリースビルドとデバッグビルドの2つのビルドモードがあります。開発中は、デバッグビルドでバグを取り除き、テストが終わったらリリースビルドします。VCのリリースビルドとデバッグビルドの違い - 虎塚 デバッグビル…

C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch.

はじめに Visual Studio 2008でgetch()関数を使ったソースコードをコンパイルしたときに、以下のような警告がでました。 この記事では、この警告が出ないようにする方法について書いています。 C4996: 'getch': The POSIX name for this item is deprecated.…

VC++で作るミューテックス(mutex)を使った排他制御

はじめに Visual C++でミューテックスを使った排他制御のサンプルプログラムを作ってみました。 アプリケーションの二重起動を防止するのによく使われるやつです。以下の記事が参考になりました。ミューテックスによる2重起動防止の罠 - Dive to the Softwa…

ソースコードをコメントアウトするなら//のほうが良い理由

はじめに ソースコードのコメントアウトは2種類あって、行頭に//を書く方法と/* 〜 */で囲む方法があります。ソースコードをコメントアウトするなら//コメントのほうが良いです。 grepしたときにコメントアウトされているかどうかすぐに分かる //コメントの…

DLL内にある関数をテキストファイルに出力するバッチ作った。

はじめに あるDLL内に格納されている関数を調べたい場合、Visual Studioに付属しているdumpbinコマンドを使うと出力できます。dllに含まれる関数の一覧を取得する。 | akatukisiden's blog 環境変数の追加 以下の2つのパスを環境変数pathに追加します。 C:\…

Visual StudioでDLLファイルにバージョン情報を埋め込む方法

はじめに Visual Studioで作成したDLLファイルにバージョン情報を埋め込む方法を調べてまとめてみました。VS2005 C++ でDLLを作りました。 バージョン情報(ファイルのプ.. - 人力検索はてな Visual StudioでDLLファイルにバージョン情報を埋め込む 1.ソリ…