2012年6月6日水曜日

開発環境の構築とか

時代が進み、OSが変わり、VC++が変わり…段々と情報が古くなっていくものですが

2016年現在、Windows10で
Visual Studio Community 2015
(VC++で言うならVC++2015なのだろうか)
を使っていて、
とりあえず新しいプロジェクトのサンプルから
チュートリアルプロジェクトの生成と実行ができました。





何かこれからはライブラリなどが他のWindows開発用ライブラリと同じ
フォルダに入っているから
Visual StudioとかWindowsSDKが入ってる環境なら
これまでの様にプロジェクトが参照するフォルダ設定とかを
しなくても良くなったとかなのでは?







以下は昔の時代の記事です。


VisualC++
このブログで使用する統合開発環境はVisualC++2010express(以下VC++)です。
これはMicrosoftが無料で提供しています。
統合開発環境というのはソフトウェア開発を統合的に担うツールの事です。C++のソースコードはメモ帳で作成する事も不可能ではないですが、VC++の様なツールを使った方が色々な支援を受けられて便利です。また、作成したコードをコンパイルしたり、ライブラリをリンクして実行ファイルを作るのもVC++がやってくれます。
現時点でVC++は下のリンクからダウンロードできます。
http://www.microsoft.com/japan/msdn/vstudio/express/

DirectX
DirectX SDKはDirectXを用いたプログラムの開発に必要なSDK(ソフトウェア開発キット)です。DirectXを用いないWindowsプログラミングのやり方もあり、そういったプログラムは上の統合開発環境をダウンロードするだけで良いのですが、DirectXを用いたプログラムを作る場合はそのSDKもダウンロードしてインストールする必要があります。これもMicrosoftが無料で提供しています。
「DirectX SDK」等をキーワードにググれば見つかると思います。
このブログではDirectX SDK 英語版 (June 2010) を使用しています。
SDKのバージョンがアップしてもDirect3D10等の最新ではないバージョンのライブラリも含まれています。だからどのバージョンのDirect3Dを使うにしても、その時点で最新のSDKを入れとけば良いと思います。

VC++とDirectX SDKのインストールは各自の責任においてやって下さい。

VC++express2010の基本的な解説はVisual C++ 2010 Express プログラミング入門 ( 外部へのリンク )とかを参考にするといいかも知れません。
私のブログのコンソールアプリケーションの作成 でも似た様な解説があります。

私は当初、「ツール」メニューから「設定」→「上級者用の設定」というのを知らずに
「最近のVC++はなくなった機能も結構あるな・・・。製品版と差別化を図っているのかな?」とか思ってしまいました。
(;^▽^)
このサイトでも説明の便宜上、上級者用の設定を使います。



リンクするライブラリの指定

基本的な学習方法は…でも触れていますが、DirectXSDKインストール時に付いてくるサンプルブラウザから様々なサンプルプログラムを含むVC++プロジェクトを立ち上げる事が出来ます。そのプロジェクトは当然ディレクトリの設定が済んでいてすぐにビルドできます。また、同じサンプルを何度でも生成できますし、その際にソリューションやプロジェクトの名前を自分で決める事も出来ます。
つまり、これをアプリケーションの雛形の生成装置として利用できます。これが最も即効性のあるDirect3dアプリケーションの作成方法です。

一方、自分で作ったプロジェクトに対してDirect3Dを利用できるように設定する場合はどうするのか?以下ではその方法を述べます。

以下では例として Direct3D11 (d3d11.libとd3dx11.lib)を使える様に設定します。もしDirect3D10を使いたいならd3d11.libの部分をd3d10.libに、d3dx11.d3dx10.libに置き換えて読んで下さい。
もしDirect3D10.1を使いたいならd3d10.libではなくd3d10_1.libと置きましょう。


まずはこの2つのライブラリを使用することをVC++に知らせます。

  プロパティを出す
それにはまず、プロジェクトのプロパティを表示させる必要があります。プロパティではビルドに関する様々な設定を行うことが出来ます。プロパティの出し方は対象とするプロジェクトが認識されている時にはAlt+F7や、メニューの「プロジェクト」→「プロパティ」を選択すれば出せます。
対象となるプロジェクトがVC++に認識されていない様なら、メニューの「表示」からソリューションエクスプローラを表示させ、その中から対象となるプロジェクト(写真中ではTutorial01) を右クリックしてプロパティを選択します。


プロパティのウインドウは下の画像の様な感じです。
これを開いたら、左側の表示域の
「構成プロパティ」→「リンカー」→「入力」を選択します。
次に右側の表示域の
追加の依存ファイルに
d3d11.lib;d3dx11d.lib;を加えます。
これでライブラリがリンクされるようになります。

なお、リリースビルドする時には
d3dx11d.libではなく、
d3dx11.libを使うと良いでしょう。
末尾にdが付くのはデバッグ用のバージョンだからです。

リリースビルド用にライブラリを登録するには
現状ではプロパティ画面左上のボタンが「アクティブ(Debug)」になっていると思うので、「Release」に変えて、今度は
追加の依存ファイルに
d3d11.lib;d3dx11.lib;を加えます。


VC++ディレクトリの設定

さて、上記の設定により、ビルド時にDirect3D11のライブラリをリンクする設定に出来ましたが、これだけではVC++はどこにそのライブラリがあるのかが分かりません。また、ヘッダファイルの場所も分かりません。これらを登録するのがVC++ディレクトリという項目です。これも先程と同様、プロパティの画面から行えます。左側の
「構成プロパティ」→「VC++ディレクトリ」を選択し、右側の
インクルードディレクトリ
$(DXSDK_DIR)Include;
ライブラリディレクトリ
$(DXSDK_DIR)Lib\x86;
を加えます。
$(DXSDK_DIR)は環境変数という奴で、これを書くだけで自分のPCのDirectX SDKがインストールされたフォルダを指定してくれるらしいです。
なお、ライブラリディレクトリはx86の部分をx64に変えて使う場合もあるかも知れません。
これは多分、64ビット環境向けのアプリケーションをビルドする場合に使うのだと思うのですが、私はそこんとこ詳しく知りません



VC++ディレクトリの設定を汎用的な設定にする

今まで行った設定はそのプロジェクトのみに通用する設定であり、新しくプロジェクトを作った時にはその都度同様の設定が必要です。しかしVC++ディレクトリの設定は単なるリンクの探し場所ですから、これぐらいはVC++のデフォルトの設定にした方が便利に感じます。その方法としては次の様なものがあります。

今立ち上げているプロジェクトは何であっても良いのでメニューの
「表示」→「プロパティーマネージャー」を開きます。
そこでフォルダを開き、
「Microsoft.Cpp.Win32.user」をダブルクリックします。
これで出てくるプロパティに対して上で説明したように
インクルードディレクトリ
$(DXSDK_DIR)Include
ライブラリディレクトリ
$(DXSDK_DIR)Lib\x86
を指定します。

後はOKでプロパティページを閉じた後、 プロパティマネージャーのMicrosoft.Cpp.Win32.user を右クリックして保存すれば完了です。

0 件のコメント: