2018年06月23日
《その410》C++/CX
C++/CX
本ブログの《364》〜《399》は、UWP(Universal Windows Platform)ベースの UWPアプリについての内容でした。その際の使用言語は C++/CX です。
作成した UWPアプリは、基礎的なものばかりですが、
・時計の作成
・画像の移動
・ポインタ位置・マウスの動作・ウィンドウサイズ 等の取得と その利用
・画像ファイルやテキストファイルの読み込み
・テキストファイルの編集と保存
等を実現するものでした。
UWPアプリを扱ってみて、非同期処理についての知識が欠かせないことを実感したので、
本ブログの《400》〜《409》では、スレッドやタスクといった内容について確認しました。
そして今回からは、あらためて、C++/CX言語について学習してみようと思います。
その際、UWPベースでは C++/CX言語そのものの学習にはやや大げさになってしまうので、
《001》〜《363》や《400》〜《409》で ずっと使ってきた、コンソールプロジェクトの形式で行います。
コンソール C++プロジェクトで C++/CX を利用できるようにする手順
ファイル(F) ―> 新規作成(N) ―> プロジェクト(P)
Visual C++ ―> 空のプロジェクト
プロジェクト(P) ―> 新しい項目の追加(W)
Visual C++ ―> C++ファイル(.cpp) ―> 追加(A)
cppプログラムの編集画面が表示されました。
ソリューションエクスプローラーで Project のスパナマークをクリックします。
構成プロパティ ―> 全般 ―> 文字セット ―> Unicode文字セットを使用する
構成プロパティ ―> C/C++ ―> 全般 ―> Windowsランタイム拡張機能の使用 ―> はい(/ZW)
構成プロパティ ―> C/C++ ―> コード生成 ―> 最小ビルドを有効にする ―> いいえ(/Gm)
構成プロパティ ―> C/C++ ―> 全般 ―> 追加の #usingディレクトリ
追加の #usingディレクトリに以下の2つのパスを記入します。
「 C:\Program Files (x86)\Windows Kits\10\UnionMetadata\10.0.16299.0 」
「 C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\
VC\Tools\MSVC\14.13.26128\lib\x86\store\references 」
※パスは Visual Studio のインストール状況によります(上記パスは私の使用環境でのものです)。
構成プロパティ ―> C/C++ ―> コマンドライン ―> 追加のオプション
「 /Zc:twoPhase- 」 を記入します。
※この設定項目は、VS2017 v15.3 以降の場合です。
構成プロパティ ―> リンカー ―> 詳細設定 ―> エントリポイント
「 mainCRTStartup 」を記入します。
以上の設定で、次のように C++/CX が使えるようになりました("ref new" などが使えます)。
#include <iostream>
ref class C
{
public:
void f(int n) {
for (int i = n; i < n + 10; i++)
std::cout << i << " ";
std::cout << '\n';
}
};
int main(Platform::Array<Platform::String^>^ args) {
(ref new C)->f(10);
}
この記事へのコメント
コメントを書く
この記事へのトラックバックURL
https://fanblogs.jp/tb/7813028
※ブログオーナーが承認したトラックバックのみ表示されます。
この記事へのトラックバック