2012/12/11

Visual C++ による、64bitプログラムの作成

せっかく64bitだしな

NINTENDO64に憧れて画像工学をたしなむ君のことだから
もちろん64bitのパソコンを使っていると思う。

まずはVisual C++で64bitプログラムを作成できるようにしよう。
64bitプログラムなら大きなデータを扱ったり、
並列化したりするときに、メモリの増加を気にしなくて済む。


ちなみに、以下をやらなくても
プロパティ→構成プロパティ→リンカー→システム→大きいサイズのアドレス
を「はい」に設定すれば4GB弱までメモリを使える。

さらに、学生なら無料でVisual C++2010 Professionalが使える。
(通常は有償の)Professionalエディションなら
特に設定することなく64bitプログラムが作成できる。
ぜひドリームをスパークさせてください。https://www.dreamspark.com/

さらにさらに、OpenCVを使う人へ。
OpenCVで動画の読み書きに使われるFFMPEGの64bit版がメモリを使いまくるとバグるみたいとか、バグったときに64bit化したことによるのバグなのか64bit版OpenCVのバグなのか自分のコードのバグなのか(たいていこれな)皆目見当がつかなくなると思う。そして何もかもが疑わしく思えてきて結局32bitに戻してデバッグしてみると思う。

だからよくわかんない人にはおすすめしない。

実践

参考サイト:
http://feather.cocolog-nifty.com/weblog/2011/07/visual-studio-2.html
http://d.hatena.ne.jp/torutk/20100927/p1


  1. Visual C++ 2010 Express をインストール
  2. Windows SDK http://www.microsoft.com/en-us/download/details.aspx?id=8279 をインストール(3を先にやると最後にエラーメッセージが出る、エラー編1に飛ぶ)
  3. Visual C++ 2010 SP1  http://support.microsoft.com/kb/983509/ja をインストール(ここでコンパイラが消えるバグ)
  4. VC++ 2010 SP1 Compiler Update http://support.microsoft.com/?kbid=2519277 をインストールし、3のバグを修正
  5. (以下、プロジェクトごと) VC++ 2010 でプロジェクトを開くor作る
  6. http://msdn.microsoft.com/ja-jp/library/9yb4317s.aspx に従ってx64プラットフォームに設定
  7. プロジェクトのプロパティで構成プロパティー全般を選択し、プラットフォームツールセットをv100からWindows7.1SDKに変更

2でエラーが起こったとき


  1. http://msdn.microsoft.com/ja-jp/vstudio/gg697159.aspx の修復方法に従う。「Visual Studio 2010 Service Pack 1 をアンインストール」はコントロールパネルのプログラムの消去からできる。Visual Studio 本体ではなく、SP1だけ消すということ。
  2. 3に戻る。

以上。

OpenCV2.4を使う場合は、 64bit版のライブラリを使うこと。
C:\OpenCV2.4\build\x64\vc10 などにある。

0 件のコメント:

Related Posts Plugin for WordPress, Blogger...