<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>いちばんやさしいゲームの作り方 &#187; コンパイル</title>
	<atom:link href="http://www.game-create.com/archives/tag/%e3%82%b3%e3%83%b3%e3%83%91%e3%82%a4%e3%83%ab/feed" rel="self" type="application/rss+xml" />
	<link>http://www.game-create.com</link>
	<description>文系の人でも、数理学がわからない人でもゲームプログラミングをマスターできるブログ</description>
	<lastBuildDate>Tue, 08 Jun 2010 01:28:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Visual Studio 2010 Express Edition の公開が始まったようです</title>
		<link>http://www.game-create.com/archives/3239</link>
		<comments>http://www.game-create.com/archives/3239#comments</comments>
		<pubDate>Thu, 29 Apr 2010 14:50:37 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[2D]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[VC++ 2010 EE]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[コンパイル]]></category>
		<category><![CDATA[月月火水木金金]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=3239</guid>
		<description><![CDATA[「 2D や 3D ゲーム開発を支援します」だそうで、自分が言いたかったことを代弁いただいております。
Microsoft Visual Studio Express

今日もお仕事の私奴はまだインストールしておりません [...]]]></description>
			<content:encoded><![CDATA[<p>「 2D や 3D ゲーム開発を支援します」だそうで、自分が言いたかったことを代弁いただいております。</p>
<p><a href="http://www.microsoft.com/japan/msdn/vstudio/express/?rss_fdn=MSDNTopNewInfo" class="external">Microsoft Visual Studio Express</a></p>
<p><span id="more-3239"></span></p>
<p>今日もお仕事の私奴はまだインストールしておりませんが、製品版購入を検討されている方は雰囲気に触れておかれることをおすすめします（パソコンのスペック的に動きがもっさりして使いづらい可能性もありますので）。</p>
<p>「無理に新しいものを使う必要ってある？」って思われるかもしれませんが、前述のスペック的な問題やバグ、仕様変更などによって現在のソースコードのコンパイルが通らなくなるなどの問題がなければ勉強に良いのではないでしょうか。個人的にはコンパイルが通らなくなったくらいなら原因を突き止めてノウハウにしたいと感じます。</p>
<p>製品版の予約販売は５月からだそうで、また延びたんでしょうか…</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/3239/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>コンパイラの警告レベルを最大にすると Visual C++ 提供のヘッダで警告に遭遇する件</title>
		<link>http://www.game-create.com/archives/1783</link>
		<comments>http://www.game-create.com/archives/1783#comments</comments>
		<pubDate>Thu, 04 Jun 2009 15:59:51 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[VC++ 2008 EE]]></category>
		<category><![CDATA[コンパイラ]]></category>
		<category><![CDATA[コンパイル]]></category>
		<category><![CDATA[警告]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1783</guid>
		<description><![CDATA[やるなっつーことか。

レベル４（ /W4 ）なら大丈夫みたいです。警告クリーンを目指す場合はレベル４くらいなんかでいかがでしょうか。
他人が作った部分で警告が消せない場合は抑制する方法なんかも検討いただくと良いかもしれ [...]]]></description>
			<content:encoded><![CDATA[<p>やるなっつーことか。</p>
<p><span id="more-1783"></span></p>
<p>レベル４（ /W4 ）なら大丈夫みたいです。警告クリーンを目指す場合はレベル４くらいなんかでいかがでしょうか。</p>
<p>他人が作った部分で警告が消せない場合は<a href="http://www.game-create.com/archives/411">抑制する方法</a>なんかも検討いただくと良いかもしれません。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1783/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Boost をコンパイルしたときの bjam オプション</title>
		<link>http://www.game-create.com/archives/1715</link>
		<comments>http://www.game-create.com/archives/1715#comments</comments>
		<pubDate>Tue, 19 May 2009 13:35:11 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[Boost]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[コンパイル]]></category>
		<category><![CDATA[備忘録]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1715</guid>
		<description><![CDATA[Boost をコンパイルしたときの bjam オプションをメモしておきます。

ソースコードやバイナリを配置した場所は次のようになります。


Boost のソースコード
C:\local\Boost\boost_1_3 [...]]]></description>
			<content:encoded><![CDATA[<p>Boost をコンパイルしたときの bjam オプションをメモしておきます。</p>
<p><span id="more-1715"></span></p>
<p>ソースコードやバイナリを配置した場所は次のようになります。</p>
<table class="style-1">
<tr>
<th>Boost のソースコード</th>
<td>C:\local\Boost\boost_1_39_0</td>
</tr>
<tr>
<th>lib をはき出す場所</th>
<td>C:\local\Boost\boost-build</td>
</tr>
<tr>
<th>bjam のバイナリ</th>
<td>C:\local\Boost\boost-jam-3.1.17-1-ntx86\bjam.exe</td>
</tr>
<tr>
<th>bzip2 のソースコード</th>
<td>C:\local\bzip2\bzip2-1.0.5</td>
</tr>
<tr>
<th>zlib のソースコード</th>
<td>C:\local\zlib\zlib123</td>
</tr>
</table>
<p>コマンドは次のようになります。</p>
<div class="hl-surround" ><div class="hl-main"><pre>cd C:\local\Boost\boost_1_39_0

C:\local\Boost\boost-jam-3.1.17-1-ntx86\bjam.exe ^
  -sBZIP2_SOURCE=C:\local\bzip2\bzip2-1.0.5 ^
  -sZLIB_SOURCE=C:\local\zlib\zlib123 ^
  --stagedir=C:\local\Boost\boost-build ^
  --build-type=complete ^
  toolset=msvc-9.0 ^
  link=static ^
  runtime-link=static ^
  threading=multi ^
  variant=release,debug ^
  stage</pre></div></div>
<p>圧縮データを読み書きしたいので zlib と bzip2 を取り込んでコンパイルしました。また、最終的にスタティックライブラリが欲しかったので link=static 、 Visual C++ のランタイムを必要としないで動作させたかったので runtime-link=static を指定しました。コンパイラの種類はバージョン含めて  toolset=msvc-9.0 のように指定した方が良いそうです。マルチスレッドの指定は必要だっただろうか…</p>
<p>これでシリアライズのサンプルを動かしてみましたが、できあがったバイナリはランタイムに依存しておりませんでした。よかったよかった。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1715/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ソースファイルをコンパイルだけしてリンクしない</title>
		<link>http://www.game-create.com/archives/1259</link>
		<comments>http://www.game-create.com/archives/1259#comments</comments>
		<pubDate>Tue, 27 Jan 2009 16:47:58 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[make]]></category>
		<category><![CDATA[オブジェクトファイル]]></category>
		<category><![CDATA[コンパイラ]]></category>
		<category><![CDATA[コンパイル]]></category>
		<category><![CDATA[ソースファイル]]></category>
		<category><![CDATA[リンク]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=1259</guid>
		<description><![CDATA[ソースファイルをコンパイルだけしてリンクしないためには cl.exe に /c オプションを渡します。

cl.exe を使う際、オプションを省略しまくると、可能な限りリンクまでして実行ファイルを作ってくれますが、これが [...]]]></description>
			<content:encoded><![CDATA[<p>ソースファイルをコンパイルだけしてリンクしないためには cl.exe に /c オプションを渡します。</p>
<p><span id="more-1259"></span></p>
<p>cl.exe を使う際、オプションを省略しまくると、可能な限りリンクまでして実行ファイルを作ってくれますが、これが不要な時は /c オプションを渡すとオブジェクトファイルを作って終了します。</p>
<div class="hl-surround" ><div class="hl-main"><pre>cl.exe /c source.cpp

# 実行すると source.obj ができます
# たとえ source.cpp の中に main() 関数があろうがリンクされません</pre></div></div>
<p>大きなプロジェクトを make などを使ってビルドする場合や、興味本位でオブジェクトファイルを解析したいときなど覚えておくと嬉しくなります。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/1259/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>コマンドラインからソースコードをコンパイルする</title>
		<link>http://www.game-create.com/archives/911</link>
		<comments>http://www.game-create.com/archives/911#comments</comments>
		<pubDate>Fri, 31 Oct 2008 10:51:36 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[CUI]]></category>
		<category><![CDATA[VC++ 2008 EE]]></category>
		<category><![CDATA[コンパイル]]></category>
		<category><![CDATA[リンク]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=911</guid>
		<description><![CDATA[コマンドラインからソースコードをコンパイルするためには Visual C++ が提供しているバッチファイルを実行してコマンドプロンプトを起動します。

そのバッチファイルとは、スタートメニューの Visual C++ 2 [...]]]></description>
			<content:encoded><![CDATA[<p>コマンドラインからソースコードをコンパイルするためには Visual C++ が提供しているバッチファイルを実行してコマンドプロンプトを起動します。</p>
<p><span id="more-911"></span></p>
<p>そのバッチファイルとは、スタートメニューの Visual C++ 2008 Express Edition の Visual Studio Tools の中にあります Visual Studio 2008 というファイルです。おそらくアイコンがコマンドプロンプトの形になっていると思いますのですぐにわかると思います。</p>
<p>バッチファイルから起動されたコマンドプロンプトではコンパイルのためのプログラム cl.exe や、リンクのためのプログラム link.exe などを起動することができます。 IDE でプロジェクトを作るまでもない小さなコンパイル作業には重宝します。</p>
<p>以下は hoge.cpp をコンパイルする例です。</p>
<div class="hl-surround" ><div class="hl-main"><pre>C:\Users\byerkut\Documents\Home\Trash&gt;cl hoge.cpp
Microsoft(R) 32-bit C/C++ Optimizing Compiler Version 15.00.30729.01 for 80x86
Copyright (C) Microsoft Corporation.  All rights reserved.

hoge.cpp
C:\Program Files\Microsoft Visual Studio 9.0\VC\INCLUDE\xlocale(342) : warning C
4530: C++ 例外処理を使っていますが、アンワインド セマンティクスは有効にはなりま
せん。/EHsc を指定してください。
Microsoft (R) Incremental Linker Version 9.00.30729.01
Copyright (C) Microsoft Corporation.  All rights reserved.

/out:hoge.exe
hoge.obj</pre></div></div>
<p>初めてのコマンドラインからのコンパイルはちょっと大人になった気がします。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/911/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Vista において管理者で実行されるプログラムを作る</title>
		<link>http://www.game-create.com/archives/578</link>
		<comments>http://www.game-create.com/archives/578#comments</comments>
		<pubDate>Sun, 10 Aug 2008 06:57:11 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[UAC]]></category>
		<category><![CDATA[VC++ 2008 EE]]></category>
		<category><![CDATA[Windows Vista]]></category>
		<category><![CDATA[コンパイル]]></category>
		<category><![CDATA[マニフェスト]]></category>
		<category><![CDATA[リソース]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=578</guid>
		<description><![CDATA[Vista において管理者で実行されるプログラムを作るためには、マニフェストファイルを作ってプログラムのリソースとして添付し、コンパイルします。

Windows Vista で高い権限が必要な作業にさしかかると一瞬画面 [...]]]></description>
			<content:encoded><![CDATA[<p>Vista において管理者で実行されるプログラムを作るためには、マニフェストファイルを作ってプログラムのリソースとして添付し、コンパイルします。</p>
<p><span id="more-578"></span></p>
<p>Windows Vista で高い権限が必要な作業にさしかかると一瞬画面が暗くなり、 UAC の働きによって「続行するにはあなたの許可が必要です」と出ることがありますが、あれをやるための方法です。</p>
<p>まず次のようにマニフェストファイルを作ります。このとき、拡張子を *.manifest にし、プロジェクトディレクトリへ配置します。</p>
<div class="hl-surround" ><div class="hl-main"><pre><span class="hl-brackets">&lt;?</span><span class="hl-reserved">xml </span><span class="hl-var">version</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">1.0</span><span class="hl-quotes">&quot; </span><span class="hl-var">encoding</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">UTF-8</span><span class="hl-quotes">&quot; </span><span class="hl-var">standalone</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">yes</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">?&gt;
&lt;</span><span class="hl-reserved">assembly </span><span class="hl-var">xmlns</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">urn:schemas-microsoft-com:asm.v1</span><span class="hl-quotes">&quot; </span><span class="hl-var">manifestVersion</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">1.0</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">&gt;
  &lt;</span><span class="hl-reserved">trustInfo </span><span class="hl-var">xmlns</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">urn:schemas-microsoft-com:asm.v3</span><span class="hl-quotes">&quot;</span><span class="hl-brackets">&gt;
    &lt;</span><span class="hl-reserved">security</span><span class="hl-brackets">&gt;
      &lt;</span><span class="hl-reserved">requestedPrivileges</span><span class="hl-brackets">&gt;
        &lt;</span><span class="hl-reserved">requestedExecutionLevel </span><span class="hl-var">level</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">requireAdministrator</span><span class="hl-quotes">&quot; </span><span class="hl-var">uiAccess</span><span class="hl-code">=</span><span class="hl-quotes">&quot;</span><span class="hl-string">false</span><span class="hl-quotes">&quot; </span><span class="hl-brackets">/&gt;
      &lt;/</span><span class="hl-reserved">requestedPrivileges</span><span class="hl-brackets">&gt;
    &lt;/</span><span class="hl-reserved">security</span><span class="hl-brackets">&gt;
  &lt;/</span><span class="hl-reserved">trustInfo</span><span class="hl-brackets">&gt;
&lt;/</span><span class="hl-reserved">assembly</span><span class="hl-brackets">&gt;</span></pre></div></div>
<p>ポイントは requestedExecutionLevel です。この要素の level 属性値が requireAdministrator になっていると UAC によって権限昇格のダイアログが出現するようになります。</p>
<p>ファイルが作成できたら Visual C++ でプロジェクトを開いて、「プロジェクト」→「プロパティ」→「構成プロパティ」→「マニフェストツール」→「入力と出力」パネルに移動し、「追加のマニフェストファイル」の欄に先ほど作成したマニフェストファイルの名前を入力します（これは Visual C++ 2008 での手順です）。</p>
<p>ちなみに、これをやらずに Vista でシステムディレクトリに対する書き込みやレジストリに対する書き込みなどをやると、仮想ディレクトリや仮想レジストリに変更が隔離されます。ですので自分ひとりが使う場合には問題ないのですが、他のユーザがいるような場合は変更が反映されないという事態に陥ります。</p>
<p>本格的なアプリケーションを作る場合には覚えておいて損はありません。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/578/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>リソーススクリプトの仕様</title>
		<link>http://www.game-create.com/archives/267</link>
		<comments>http://www.game-create.com/archives/267#comments</comments>
		<pubDate>Fri, 22 Feb 2008 15:15:56 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[コンパイル]]></category>
		<category><![CDATA[リソース]]></category>
		<category><![CDATA[リンク]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=267</guid>
		<description><![CDATA[リソーススクリプトの仕様を MSDN から見つけてきました。
About Resource Files

リソーススクリプトとはリソースを構築するためのスクリプトです。
リソースはプログラムのアイコンを設定したりする際に [...]]]></description>
			<content:encoded><![CDATA[<p>リソーススクリプトの仕様を MSDN から見つけてきました。</p>
<p><a href="http://msdn2.microsoft.com/en-us/library/aa380599%28VS.85%29.aspx" class="external">About Resource Files</a></p>
<p><span id="more-267"></span></p>
<p>リソーススクリプトとはリソースを構築するためのスクリプトです。</p>
<p>リソースはプログラムのアイコンを設定したりする際に必要です。今は必要ないかと思いますが、完成したゲームを配布させたいときに重宝するかと思います。アイコンがデフォルトのままだと寂しいですもんね。</p>
<p>リソーススクリプトは Visual C++ 2005 や 2008 の Express Edition では作れないので、仕様を見ながらエディタでコーディングする必要がありますが、コンパイルとリンクは Express Edition でも可能ですのでご安心ください。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/267/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>コンパイラ</title>
		<link>http://www.game-create.com/archives/26</link>
		<comments>http://www.game-create.com/archives/26#comments</comments>
		<pubDate>Wed, 08 Aug 2007 10:50:41 +0000</pubDate>
		<dc:creator>Byerkut</dc:creator>
				<category><![CDATA[ゲームプログラミング]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[オブジェクトコード]]></category>
		<category><![CDATA[コンパイラ]]></category>
		<category><![CDATA[コンパイル]]></category>
		<category><![CDATA[ソースコード]]></category>
		<category><![CDATA[用語]]></category>

		<guid isPermaLink="false">http://www.game-create.com/?p=26</guid>
		<description><![CDATA[コンパイラとはソースコードをオブジェクトコード（機械語）に翻訳するプログラムです。

コンピュータは機械語（オブジェクトコード）という、いわば母国語のような言語でのみ命令（プログラム）を理解するため、プログラマはコンパイ [...]]]></description>
			<content:encoded><![CDATA[<p>コンパイラとはソースコードをオブジェクトコード（機械語）に翻訳するプログラムです。</p>
<p><span id="more-26"></span></p>
<p>コンピュータは機械語（オブジェクトコード）という、いわば母国語のような言語でのみ命令（プログラム）を理解するため、プログラマはコンパイラを用いて視認性の高いソースコードからオブジェクトコード（機械語）へと翻訳してプログラムを実行します。</p>
<p>なお、コンパイラを用いてソースコードを翻訳することを「コンパイルする」と表現します。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.game-create.com/archives/26/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

