トップ «前の日記(2016-05-31) 最新 次の日記(2016-06-10)» 編集

日々の破片

Subscribe with livedoor Reader
著作一覧

2016-06-05

_ Visual Studio 2015でClang(May 2016)

インストール時に「Visual C++ モバイル開発」となっているが(どこにあるか最初わからなかった)、気にせずに「Clang with Microsoft CodeGen (varried)」をチェックしてインストールする。

レディメイドのソリューションテンプレートはライブラリ用とわけのわからないフレームワークのやつしかないので、気にせず、Win32コンソールアプリケーションを選んでみる。

stdafx.cppとstdafx.hを削除する。

プロジェクトのプロパティのC/C++「プリコンパイル済ヘッダー」で、stdafx.hを削除したのでプリコンパイル済みヘッダを利用「しない」に設定する(やり方はあるかもしれないけど)。

構成プロパティの全般でプラットフォームツールを「Clang 3.7 with Microsoft CodeGen (v140_clang_3_7)」に変える。

デバッグ情報は最初から「完全なデバッグ情報 (DWARF2) (-g2 -gdwarf-2)」になっている。DWARF2なんだな。

規定で作られたソースファイルの拡張子をcppからcに変える。

先頭の#include "stdafx.h"を削除する。

ふつうにincludeする。

#include <stdio.h>

#include <stdlib.h>

#include <stdint.h>

などなど。

tchar.hのような特殊なやつは(stdafx.hを削除したから)なくなるがそれでOK。

インテリセンスはふつうに動作する。

しかし

char* ap[variable];

と記述すると赤い波線がつく。マウスカーソルをあてると「式には定数値が必要です」と表示されるが無視(というか、Visual Studioのコードエディタ自体がメッセージをもっているんだろうか? なんか無駄なような常時コンパイラを走らせるわけにもいかんだろうから当然なような)。Clangでコンパイルするには問題ないので気にする必要はない。

で、ビルドするとふつうにexeができる(x86、x64とも)。

デバッガもふつうに動作する。

というか、こうなると確かにCLいらない気がしてくるな。


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|

ジェズイットを見習え