Visual Studio Community 2015

Visual Studio Community 2015 では、同2013 では別々にインストールしなければならなかった、「マルチバイト文字エンコード (MBCS) 用の MFC ライブラリ (DLL) 」が、含まれるようになりました。

また、さらにうれしいことに、Visual Studio Installer Project Extension が無償で使用できるのです。

下記 URL からダウンロードしてインストールできます。

https://visualstudiogallery.msdn.microsoft.com/f1cc3f3e-c300-40a7-8797-c509fb8933b9

Visual Studio Community 2013 と Subversion でソース管理

Visual Studio には Source Control というソース管理を行うための拡張機能があります。これに対応しているフリー(*1) で使えるソース管理プラグインに VisualSVN というのがあります。

このプラグインで Visual Studio 統合開発環境(IDE) から Subversion を使用してソース管理が行えます。

(注 *1 : Community License に該当すれば free です。詳しくは VISUAL SVN//Licensing をご覧ください。)

 

Subversion サーバーの準備

ソース管理リポジトリは Subversion サーバーを準備する必要があるので、 Visual SourceSafe ほどお手軽ではないんですが、一度サーバーを用意すれば手間はかかりません。

Subversion サーバーのインストール作業はこちらをご覧ください。

※また、必要に応じて SSL や ベーシック認証で保護してください。

 

TortoiseSVN (Windows Subversion クライアント) の準備

TortoiseSVN クライアントをダウンロード:https://www.visualsvn.com/visualsvn/download/tortoisesvn/

  1. [Download Now] ボタンをクリック
  2. TortoiseSVN-1.8.9.26117-win32-svn-1.8.11.msi を保存して実行

(※お使いの Windows のよって 32ビット版か64ビット版のどちらかを選んでダウンロードします。)

 

VisualSVNプラグインの準備

VisualSVNプラグインは次のサイトからダウンロードします: https://www.visualsvn.com/visualsvn/

  1. [Download VisualSVN now and start using it for free] ボタンをクリック
  2. [Download Now] ボタンをクリック
  3. VisualSVN-4.0.11.msi を保存して実行

 

Visual Studio Community 2013 統合開発環境 (IDE) の準備

VisualSVN をインストールしたら Visual Studio のソース管理プラグインを VisualSVN に設定します:

  1. Visual Studio Community 2013 を起動
  2. [ツール]-[オプション] メニューを選択
  3. [オプション]ダイアログ左側パネルから [ソース管理]->[プラグイン選択] を選択
  4. [現在のソース管理プラグイン] を選択して一覧から [VisualSVN]を選択
  5. [OK]をクリック

Visual Studio Community 2013 のメニューに [VISUAL SVN] というメニューが表示されます。

 

これでソース意管理の準備ができました。

次回は簡単な使い方をご紹介します。

Visual Studio Community 2013 エディション (その2)

Visual Studio 2005 で作成したMFCのダイアログベースのアプリをプロジェクトを Visual Studio Community 2013 で読み込んで再ビルドしてみます。

Visual Studio Community 2013 を起動してソリューションファイル (*.sln) かプロジェクトファイル (*.vcproj) を開いてプロジェクトを読み込むとプロジェクトのアップグレードが行われます。移行レポートが表示されてソリューションおよびプロジェクトに関してエラー、警告、メッセージが表示されますが、このプロジェクトではエラーがないのでとりあえず無視してビルドに進みます。

ビルドすると:

error MSB8031: Building an MFC project for a non-Unicode character set is deprecated.
 You must change the project property to Unicode or download an additional library.
 See http://go.microsoft.com/fwlink/p/?LinkId=286820 for more information.

というエラーがでました。

要約すると、「非 Unicode 文字セットの MFCプロジェクトのビルドは推奨されなくなったので、プロジェクト プロパティを変更するか追加のライブラリをダウンロードしなければならない。詳細は、http://go.microsoft.com/fwlink/p/?LinkId=286820 をみてください。」ということです。

そこで、そのページを見ると、「マルチバイト文字エンコード (MBCS) 用の MFC ライブラリ (DLL) は、Visual Studio に含まれなくなりましたが、Visual Studio Professional、Visual Studio Premium、または Visual Studio Ultimate がインストールされているコンピューターにダウンロードしてインストールできるアドオンとして利用できます」とのことです。

上記「MFC MBCS DLL アドオン」ページから:

  1. マイクロソフト ダウンロード センターの「Visual Studio 2013 のマルチバイト MFC ライブラリ」をクリック
  2. Multibyte MFC Library for Visual Studio 2013 ページの Select Language: から Japanese を選択すると日本語に切り替わります
  3. [ダウンロード] ボタンをクリック
  4. vc_mbcsmfc.exe を保存して、実行

インストールが完了して再ビルドすると、下記の警告が表示されますが、実行には問題なくなりました。

warning C4996: 'MBCS_Support_Deprecated_In_MFC': MBCS support in MFC is deprecated and may be removed in a future version of MFC.

Visual Studio で作成するアプリは Unicode 版がデフォルトになったんですね。

それは良いのですが、既存のアプリを Unicode 版に移行するのも大変なので、当面は 「Visual Studio 2013 のマルチバイト MFC ライブラリ 」も必要ですね。

Visual Studio 2013 の Visual C++ 再頒布可能パッケージ もアプリの配布には必要になる場合があります。

Visual Studio Community 2013 エディション

遅ればせながら Visual Studio Community 2013 エディションの使用を開始しました。

個人でソフトウェア開発をおこなっている行っている人には大変うれしい公開です。

マイクロソフトの無償で利用できる開発製品は Visual Studio Express エディションがあり、現在 Visual Studio Express 2015 がでていますが、将来的には Community エディションに統合していくようです。

プロフェッショナル エディション相当の機能が使えて、学生、オープンソース開発者はもちろん個人開発者や小規模企業の開発者5名までなら有償アプリの開発を行ってもよいライセンスです。詳細は:Visual Studio Community 2013 の公式サイト

インストールは上記サイトより、

  1. 「Visual Studio Community 2013 ダウンロード」をクリック
  2. 「Visual Studio のダウンロード」ページより「Visual Studio Community & Express」の「Community 2014 with Update 4」をクリック
  3. 「Microsoft Visual Studio Community 2013 with Update 4 – English」の 「Install now」をクリックして、「vs_community.exe」をダウンロードします。
  4. 「Microsoft Visual Studio 2013 Language Pack – 日本語」の「今すぐインストール」をクリックして、「vs_langpack.exe」をダウンロードします。
  5. vs_community.exe を実行します。
  6. vs_langpack.exe を実行します。

なによりもうれしいのは VC++ コンパイラだけでなくて、MFC ライブラリやコード分析機能が使えることです。昔の VC++ と MFC ライブラリで開発したコードを、コード分析して安全なコードに書き直したり、マネージ拡張して機能強化したりと楽しみ 🙂

手始めに Visual Studio 2005 で作成したプロジェクトを Visual Studio Community 2013 で読み込んで再ビルドしてみます。結果、後日報告します。

VC++/MFC タイムゾーンによる日時変換 (JST->UTC)

VC++/MFC ライブラリで日本時間(JST)を世界標準時間(UTC)へ変換行う方法を調べて試しました。
もっと良い方法があるのかもしれませんが、取り急ぎ。

// 現在の日時を取得
CTime t1;
t1 = CTime::GetCurrentTime();
_tprintf(_T("JST: %sn"), t1.Format(_T("%Y-%m-%d %H:%M:%S")));

// FormatGmt でUTC日時で表示
_tprintf(_T("UTC: %sn"), t1.FormatGmt(_T("%Y-%m-%d %H:%M:%S")));

// タイムゾーン情報の取得.
TIME_ZONE_INFORMATION tzi;
GetTimeZoneInformation(&tzi);
CString stzi(tzi.StandardName); // Unicode -> Shift-JIS.
_tprintf(_T("タイムゾーン: %sn"), (LPCTSTR)stzi);

// CTime -> SYSTEMTIME へ変換
SYSTEMTIME st1 = { 0 };
st1.wYear = t1.GetYear();
st1.wMonth = t1.GetMonth();
st1.wDay = t1.GetDay();
st1.wHour = t1.GetHour();
st1.wMinute = t1.GetMinute();
st1.wSecond = t1.GetSecond();

SYSTEMTIME st2 = { 0 };

// タイムゾーンによる日時変換
TzSpecificLocalTimeToSystemTime(&tzi, &st1, &st2);
// 表示
_tprintf(_T("UTC: %d-%02d-%02d %02d:%02d:%02dn"),
                        st2.wYear, st2.wMonth, st2.wDay,
                        st2.wHour, st2.wMinute, st2.wSecond);

出力結果:

JST: 2013-02-26 12:27:11
UTC: 2013-02-26 03:27:11
タイムゾーン: 東京 (標準時)
UTC: 2013-02-26 03:27:11