CMake + Visual C++ 2008 Express EditionによるBlender SVNのビルド方法
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
7件表示
(全7件)
すべてのコメント一覧へ
投稿ツリー
-
CMake + Visual C++ 2008 Express EditionによるBlender SVNのビルド方法
(Anonymous, 2008/6/19 18:57)
-
Re: CMake + Visual C++ 2008 Express EditionによるBlender SVNのRelease版ビルド方法
(qurui721, 2008/10/2 16:35)
-
無題
(Anonymous, 2008/10/2 19:05)
-
Re: CMake + Visual C++ 2008 Express EditionによるBlender SVNのRelease版ビルド方法
(uimac, 2008/10/2 22:34)
-
Re: CMake + Visual C++ 2008 Express EditionによるBlender SVNのRelease版ビルド方法
(qurui721, 2008/10/3 10:54)
-
Visual C++ 2010 Expressを使用する場合の手順変更点
(Anonymous, 2011/1/5 3:00)
-
Re: CMake + Visual C++ 2010 Express EditionによるBlender SVNのビルド方法
(こやけい, 2011/10/24 18:31)
Anonymous
投稿数: 17
(2011/3/6更新)
プログラミングはさっぱり分からないけれどBlenderの日々の開発の成果を1秒でも早く試したい新しもの好きな方、
Graphicall.org等にあるチューンド版Blenderを自分でも作ってみたい好奇心旺盛な方向けです。
準備は多少面倒ですが、それさえ済ませてしまえば後はクリック数回で簡単にSVNの更新とビルドが出来ます。
・前準備
1.Microsoft Visual C++ 2008 Express Edition SP1のダウンロードとインストール
Microsoft Visual C++ 2008 Express Edition SP1(頁内のvcsetup.exe)をダウンロードし、インストールします。
オフライン インストール版もございます。
2.Windows SDKのダウンロードとインストール
Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1をダウンロードし、インストールします。
オフライン インストール版もございます。
このバージョンにはOpenMP用ライブラリが含まれています。
場合によってはインストールがフリーズした様に遅く、数十分掛かる場合がありますが気長に待ちます。
3.DirectX SDKのダウンロードとインストール
DirectX SDKをダウンロードし、インストールします。
4.Visual C++ 2008 Express Editionで64bitビルドを行う為の諸準備
64bitビルドを行わない場合は、この項目を飛ばして5.フォルダーの作成にお進み下さい。
この作業にはWindowsの管理者権限が必要となります。
亦レジストリを操作しますので、失敗した場合アプリケーションやOSが起動しなくなる可能性があります。
Windowsの"スタート"メニューの検索ボックスか"ファイル名を指定して実行"に"regedit"と入力し、レジストリ エディタを起動します。
C:\Windows\regedit.exeを直接起動しても構いません。
エディター左側のフォルダー ツリーにて
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Visual Studio\9.0\VC\VC_OBJECTS_PLATFORM_INFO
を右クリックし、表示されたメニューから"エクスポート"を選択し好きな名前で保存します。
次に、保存した好きな名前.regファイルをメモ帳等のテキスト エディターで開き、32bitOSをお使いの場合は
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\VC\VC_OBJECTS_PLATFORM_INFO
と書かれている部分を全て
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VCExpress\9.0\VC\VC_OBJECTS_PLATFORM_INFO
に、64bitOSをお使いの場合は全て
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VCExpress\9.0\VC\VC_OBJECTS_PLATFORM_INFO
に変更して上書き保存した上で、上書きした.regファイルをダブルクリックし、ファイルの内容をレジストリに保存して下さい。
同様に、再びエディター左側のフォルダー ツリーにて
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\CLSID
を選択してエクスポートしテキスト エディターで開き、32bitOSをお使いの場合は
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\CLSID
と書かれている部分を全て
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VCExpress\9.0\CLSID
に、64bitOSをお使いの場合は全て
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VCExpress\9.0\CLSID
に変更して上書き保存しファイルの内容をレジストリに保存して下さい。
レジストリ エディタを使用した作業はこれで終了です。
最後に、エクスプローラーにてVisual Studioのインストール フォルダー\VC\vcpackagesフォルダーを開き、中にある
AMD64.VCPlatform.config
というファイルを
AMD64.VCPlatform.Express.config
という名前に変更して下さい。
64bitOSをお使いの場合は、上記に加えて以下の作業が必要になります。
まず、Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1のオフライン インストール版をご用意下さい。
次に、GRMSDKX_EN_DVD.isoの内容を書き込んだDVDメディアをDVDドライブに挿入するか
.isoファイルを仮想ドライブ(Alcohol 52%, Virtual CloneDrive等)にマウントしてエクスプローラーで開き、
Setup\vc_stdx86\vc_stdx86.cabをwinrar等で解凍して中にある
FL_VCProjectAMD64Platform_dll_76113_76113_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8
というファイルを
VCProjectAMD64Platform.dll
にリネームし、Visual Studioのインストール フォルダー\VC\vcpackagesフォルダーに入れて下さい。
(参考)
5.フォルダーの作成
好きな場所に、"bf-blender"という名前のフォルダー(他の名前でも構いません)を作成します。
上で作った"bf-blender"フォルダーの中に、"trunk"という名前のフォルダー(他の名前でも構いません)を作成します。
同じく"bf-blender"フォルダーの中に、"lib"という名前のフォルダーを作成します。
上で作った"lib"フォルダーの中に、"windows"という名前のフォルダーを作成します。
上で作った"windows"フォルダーの中に、"QTDevWin"という名前のフォルダーを作成します。
64bitビルドを行う場合は、同じく"lib"フォルダーの中に"win64"という名前のフォルダーを作成します。
最後に、好きな場所に"build"フォルダー(他の名前でも構いません)を作成します。
6.QuickTime SDKのダウンロードとインストール
QuickTime SDKをダウンロードし、インストールします。
ダウンロードするにはユーザー登録が必要ですが、簡単に行えます。
インストール先には、先程作った"QTDevWin"フォルダーを指定して下さい。
7.CMakeのダウンロードとインストール
CMakeをダウンロードし、インストールします。
開発版でも構いませんが、その場合は
沢山あるcmake-2.8.4.xxxxxxxx-xxxxxx-win32-x86.exeの内、日付が最新の物を選んで下さい。
8.Slik SVNのダウンロードとインストール
Slik SVNをダウンロードし、インストールします。
これは、Blenderのスプラッシュ(起動時メニュー)の右上に
詳細なバージョン ナンバーやリビジョン ナンバーを表示させる為に必要なものです。
9-1.TortoiseSVNのダウンロードとインストール
TortoiseSVNをダウンロードし、インストールします。
開発版でも構いませんが、
TortoiseSVN-1.6.99.xxxxx-dev-x64-svn-1.7.0-dev.msiは使用しないで下さい。
Slik SVNによるリビジョン ナンバーの取得が出来なくなります。
9-2.SVNのチェックアウト
SVNをチェックアウト(ダウンロード)します。
先程作った"trunk"フォルダーを右クリックし、メニューからTortoiseSVN→Checkout...を選びます。
そうしますとCheckoutというタイトルのウィンドウが開きますので、項目"URL of repository"に
https://svn.blender.org/svnroot/bf-blender/trunk/blender
と入力します。
その後ウィンドウ下部の"OK"ボタンを押すとチェックアウトが始まります。
大量のファイルをダウンロードしますので、回線状況に依っては多少時間が掛かります。
ウィンドウのタイトル バーに"TortoiseSVN Finished!"、ウィンドウ内に"Completed At revision: xxxxx"と
表示されれば更新は完了です。
次に同じく先程作った"windows"フォルダーを右クリックし、メニューからTortoiseSVN→Checkout...を選びます。
そうしますと先と同じくCheckoutというタイトルのウィンドウが開きますので、項目"URL of repository"に
https://svn.blender.org/svnroot/bf-blender/trunk/lib/windows
と入力します。
その後ウィンドウ下部の"OK"ボタンを押しますとチェックアウトが始まります。
同じく大量のファイルをダウンロードしますので、回線状況に依って多少時間が掛かります。
64bitビルドを行う場合は、同様に先に作った"win64"フォルダーを右クリックしてメニューからTortoiseSVN→Checkout...を選び、
開いたCheckoutというタイトルのウィンドウの項目"URL of repository"に
https://svn.blender.org/svnroot/bf-blender/trunk/lib/win64
と入力してウィンドウ下部の"OK"ボタンを押しチェックアウトします。
チェックアウトしたファイルとフォルダーには緑色のチェックマークが付きます。
10.Visual C++用プロジェクト ファイルの作成
スタート メニュー→プログラム→CMake 2.8から"CMake (cmake-gui)"(cmake-gui.exe)を
起動します。
ウィンドウ上部の"Where is the Source code:"の右にあるテキスト ボックスに、
先に作成しSVNをチェックアウトした"trunk"フォルダーのパスを入力します(例 D:\bf-blender\trunk)。
同じく"Where to build the binaries:"の右にあるテキストボックスに、
"build"フォルダーのパスを入力します(例 D:\bf-blender\build)。
ウィンドウ下部の"Configure"ボタンをクリックしますとタイトルの無いウィンドウが出てきますので、
"Specify the generator for this project"というメッセージの下にあるプルダウン メニューから
32bitビルドの場合は"Visual Studio 9 2008"を、64bitビルドの場合は"Visual Studio 9 2008 Win64"を選択します。
その下にある選択メニューでは"Use default native compilers"を選択します。
"Finish"ボタンをクリックしますとそれまで空白だったウィンドウ中央の空間に赤地の項目が十数個作成されますので、
その内"WITH_BUILDINFO", "WITH_BULLET"等項目名が"WITH_xxxxx"になっているものの内
32bitビルドの場合は"WITH_BUILDINFO", "WITH_JACK"を除く全て、
64bitビルドの場合は"WITH_BUILDINFO", "WITH_JACK", "WITH_QUICKTIME"を除く全てについて、
項目右側のチェックボックスをONにします。
これでblenderのほぼフルセットを作成する事が出来ます。
ウィンドウ上部にあるプルダウン メニューから"Advanced View"や"Grouped View"を選択しますと
更に多くの項目が表示されますが、こちらは変更する必要はありません。
オプションの設定が終わりましたらもう一度ウィンドウ下部の"Configure"ボタンをクリックします。
ウィンドウ最下部のメッセージ ボックスに"Configuring done"と表示され、赤地だった項目が灰地になりますので
"Configure"ボタンの隣の"Generate"ボタンをクリックします。
メッセージ ボックスに"Generating done"と表示され、プロジェクト ファイルとその他ビルドに必要なファイルが
"build"フォルダーに作成されます。
これでプロジェクト ファイルの作成は完了ですので、CMakeを終了させて下さい。
プロジェクト ファイルは一度作成してしまえばSVNを更新してもそのまま流用出来ますが、
大規模なファイルの追加(Add)や削除(Delete)、
CMake関連のファイルの変更があった場合ビルド時にエラー等の不具合が起きる事があります。
その際はプロジェクト ファイルの作り直しが必要になります。
以上で前準備は完了です。
尚、"WITH_BUILDINFO"(スプラッシュ右上へのバージョン ナンバーの表示)をONにしたい場合は、
後述のパッチを適用してからプロジェクト ファイルの作成を行って下さい。
・SVNの更新チェック〜ビルド
1.更新チェック
SVNはほぼ毎日更新されています。日本時間の夕方から早朝にかけてよく更新され、
日中は動きが止まっている事が多い様です。
"trunk"フォルダーを右クリックし、メニューからSVN Updateを選びます。
そうしますとウィンドウが開き、自動的にSVNの更新が行われます。
ウィンドウのタイトル バーに"TortoiseSVN Finished!"、ウィンドウ内に"Completed At revision: xxxxx"と
表示されれば更新は完了です。
更新完了後ウィンドウ右下に表示される"Show log..."ボタンをクリックしますと、
どのファイルにどの様な変更が加えられたかを見る事が出来ます。
"windows"フォルダーも同様に更新チェックしますが、こちらはあまり更新されていない様です。
2.ビルド
"build"フォルダー内にある"Blender.sln"をクリックします。
自動的にVisual C++ 2008が起動しますが、何も起こらない場合はVisual C++ 2008を手動で起動し
メニューからファイル→開く→プロジェクト/ソリューションで"Blender.sln"を開いて下さい。
次にウィンドウ上部にある緑の三角形の右にあるプルダウン メニューから
"Release"を選択します(初期設定では"Debug"になっています)。
最後に、メニューからビルド→ソリューションのビルド(又はソリューションのリビルド)を選択すると
ビルドが始まります。
数分(ビルドするマシン スペックに依ります)後、ウィンドウ最下部に
"ビルド正常終了"(又は"リビルドがすべて正常に終了しました。")と表示されればビルドは成功です。
"build"フォルダー内に"bin"フォルダーが出来ており、その中の"Release"フォルダーにBlenderのセットが入っています。
※"ソリューションのビルド"と"ソリューションのリビルド"の違い
一度ビルドした後でSVNが更新された際に、"ビルド"は更新のあったファイルだけを一からビルドし直し
残りは前回のビルドで作成された中間ファイルからビルドします(初回のビルドに比べて
ビルド時間が短縮されます)が、
"リビルド"は全て一からビルドし直します(常に初回のビルドと同じビルド時間が掛かります)。
etc.巻き戻し更新
SVNを更新してビルドしたらエラーが発生したので更新前に戻したいという場合は、
"trunk"フォルダーを右クリックし、メニューからTortoiseSVN→Update to revisionを選びます。
そうしますと"Update"というウィンドウが開きますので、"Revision"を選択して
右側のテキスト ボックスにリビジョン番号を入力して下さい。
番号が分からない場合はテキスト ボックスの上にある"Show log"ボタンで更新履歴が表示されますので、
更新日時(Date)で適当にアタリをつけて下さい。
・Optimize(チューニング)
以下私の設定であり、最善最速とは限りません。
1.コンパイラ オプションの設定
まず、Visual C++でBlender.slnを開きます。
ウィンドウ上部にある緑の三角形の右にあるプルダウン メニューが"Debug"になっている場合は
"Release"にして下さい。
ソリューション エクスプローラにて、"ALL_BUILD"の直下にある"bf_avi"をクリックし、水色に反転させて選択状態にして下さい。
次にShiftキーを押しながら"↓"キーを押し、最下部の"ZERO_CHECK"直上の"makesrna"迄全て選択状態にして下さい。
選択したファイルの内どれでも構わないので右クリックするとメニューが出ますので、
"プロパティ"を選択し"プロパティ ページ"ウィンドウを表示させます。
ウィンドウ左側の項目一覧から"構成プロパティ"→"C/C++"→"最適化"を選択し、
ウィンドウ右側の項目の設定を以下の様に変更して下さい。
組み込み関数を使用する・・・はい(/Oi)
速度またはサイズを優先・・・実行速度を優先(/Ot)
フレーム ポインタなし・・・はい(/Oy)
ファイバー保護の最適化・・・はい(/GT)
次にウィンドウ左側の項目一覧から"構成プロパティ"→"C/C++"→"コード生成"を選択し、
ウィンドウ右側の項目の設定を以下の様に変更して下さい。
関数レベルでリンクする・・・はい(/Gy)
拡張命令セットを有効にする・・・ストリーム SIMD 拡張機能 2(/arch:SSE2)
浮動小数点モデル・・・Fast(/fp:fast)
ウィンドウ左側の項目一覧から"構成プロパティ"→"C/C++"→"言語"を選択し、
ウィンドウ右側の項目の設定を以下の様に変更して下さい。
OpenMP サポート・・・はい(/openmp)
ウィンドウ下部の"OK"ボタンをクリックしてウィンドウを閉じます。
※注意
SSE2はPentiumIII以前の古いCPUではサポートされておりませんので、その場合は
拡張命令セットを有効にする・・・ストリーム SIMD 拡張機能(/arch:SSE)
若しくはデフォルト設定の
拡張命令セットを有効にする・・・設定なし
にして下さい。
64bitビルドでは/archオプションは無効ですので指定しないで下さい。
/fp:fastもblender.exeのリンクが完了しない不具合が発生しますので、こちらも指定しないで下さい。
2.リンカー オプションの設定
ソリューション エクスプローラにて"ALL_BUILD"と"ZERO_CHECK"以外の全ての項目が選択された先の状態から、
項目"blender"をクリックします。
続けて、項目"blenderplayer"、"makesdna"、"makesrna"を
それぞれCtrlキーを押しながらクリックして下さい。
そうしますと上記4つの項目が選択された状態になりますので、4つの内どれでも良いので右クリックして
メニューからプロパティを選択し"プロパティ ページ"ウィンドウを表示させます。
ウィンドウ左側の項目一覧から"構成プロパティ"→"リンカ"→"システム"を選択し、
ウィンドウ右側の項目の設定を以下の様に変更して下さい。
大きいサイズのアドレス・・・2 GB を超えるアドレスをサポートする (/LARGEADDRESSAWARE)
次にウィンドウ左側の項目一覧から"構成プロパティ"→"リンカ"→"最適化"を選択し、
ウィンドウ右側の項目の設定を以下の様に変更して下さい。
参照・・・参照されないデータを除去する (/OPT:REF)
COMDATの圧縮・・・冗長な COMDAT を削除する (/OPT:ICF)
リンク時のコード生成を使用・・・リンク時のコード生成を使用 (/ltcg)
ウィンドウ左側の項目一覧から"構成プロパティ"→"リンカ"→"詳細"を選択し、
ウィンドウ右側の項目の設定を以下の様に変更して下さい。
(32bitビルドの場合)
対象コンピュータ・・・MachineX86 (/MACHINE:X86)
(64bitビルドの場合)
対象コンピュータ・・・MachineX64 (/MACHINE:X64)
このオプションはビルド時やアプリケーション起動時の不具合回避の為のもので、
設定してもしなくてもパフォーマンスに影響はありません。
ウィンドウ下部の"OK"ボタンをクリックしてウィンドウを閉じます。
以上で設定は終了です。後は通常通りビルドして下さい。
ex.主なオプションの効能書き
拡張命令セットを有効にする・・・ストリーム SIMD 拡張機能 2(/arch:SSE2)
全体的な処理速度が20~30%向上する様です(特にCore2系CPUで顕著)。
OpenMP サポート・・・はい(/openmp)
ClothやFluidのBakeがマルチスレッド化される為、デュアルコアCPUやクアッドコアCPU環境では
処理速度が100~200%以上向上します。
大きいサイズのアドレス・・・2 GB を超えるアドレスをサポートする (/LARGEADDRESSAWARE)
LAA(Large Address Aware)フラグと呼ばれているものです。
32bitアプリケーションは2GBまでしかメモリを使えませんが、LAAを指定する事により
計算上はPAE(Physical Address Extension)オプションを有効にした32bit版Windowsでは3GB、
64bit版Windowsでは4GB迄Blenderがメモリを使用する事が出来ます。
64bitアプリケーションの場合は8TB迄使用出来ます。
・trunk(基本のBlender)以外のBlenderもビルドしてみたい場合
"bf-blender"フォルダーの中に好きな名前のフォルダーを2つ(Checkout用とビルド用)作成して、
下記の()内のアドレスからtrunkと同じ手順でCheckoutしCMakeでプロジェクト ファイルを作成した後
ビルドして下さい。
\lib\windowsと\lib\win64はtrunk用の物がビルド時に自動的に共用されます。
2.4(https://svn.blender.org/svnroot/bf-blender/branches/blender2.4)
2.48, 2.49等の2.xx系Blenderのtrunkでしたが開発は終了し、現在はたまにメンテナンスが行われるのみです。
3dsculpt(https://svn.blender.org/svnroot/bf-blender/branches/soc-2010-jwilkins)
trunkのスカルプト機能を強化したものです。
bmesh(https://svn.blender.org/svnroot/bf-blender/branches/bmesh/blender)
trunkに搭載される、新しいメッシュ編集ツールの開発ブランチです。(開発者サイト)
bullet(https://svn.blender.org/svnroot/bf-blender/branches/soc-2010-aligorith-2)
bullet(物理演算ライブラリ)をgameengine以外でも使用可能にしたものです。(開発者サイト)
freestyle(https://svn.blender.org/svnroot/bf-blender/branches/soc-2008-mxcurioni)
trunkにfreestyleという描線レンダラを追加したものです。(開発者サイト)
multires(https://svn.blender.org/svnroot/bf-blender/branches/soc-2010-nicolasbishop)
trunkのmulti resolution機能の改善ブランチです。
nurbs-merge(https://svn.blender.org/svnroot/bf-blender/branches/nurbs-merge)
trunkのNURBS機能を強化したものです。(開発者サイト)
particles(https://svn.blender.org/svnroot/bf-blender/branches/particles-2010)
trunkのパーティクル機能を拡張したものです。(参考)
render25(https://svn.blender.org/svnroot/bf-blender/branches/render25)
trunkのレンダリング関係の内部構造を整理し再構築する為のブランチです。
他にも色々なブランチがあります。
・その他
SVN更新の際、更新されたソースの不備やCMake関連ファイルとの齟齬によりビルド不可能になる場合があります。
そういった不具合を解消するパッチ(随時更新)を置いておきますので、必要に応じてお使い下さい。→Download
パッチの使い方
1.前準備
zipファイルをダウンロードし展開しますと、for 2.4,for bmesh...といった風に各ブランチ用にフォルダーが分かれております。
パッチを当てたいブランチの名称のフォルダーの中にあるCMakelists-errorfix+.patchを、
ブランチをチェックアウトしたフォルダー(例:D:\bf-blender\trunk)にコピーして下さい。
CMakelists-buildinfo.patchはビルド環境によっては逆に不具合を起こす可能性がありますので、
同梱のreadmeを読んでからお使い下さい。
使用する場合のコピー先は、CMakelists-errorfix+.patchのコピー先と同一です。
次に、libs-fixフォルダーの中にあるwindowsフォルダー(32bit用)とwin64フォルダー(64bit用)を、
Blenderのライブラリ フォルダー、\lib\windowsとlib\win64にそれぞれ上書きして下さい。
2.適用
コピーしたCMakelists-errorfix+.patchを右クリックし、メニューからTortoiseSVN→Apply patch...を選びます。
そうしますと"File patche..."というタイトルの小さなウィンドウと"TortoiseMerge"というタイトルの大きなウィンドウが開きます。
"File patche..."ウィンドウには、パッチ対象ファイルの一覧が表示されております。
この際、パッチが想定している対象リビジョンに対してブランチのリビジョンが古かったり新しかったりする場合や
既にパッチが当たっている状態で更にパッチを当てようとしている場合は
赤文字で表示されるファイルが発生する事があります。赤文字で表示されているファイルにはパッチが当てられません。
その場合はブランチのリビジョンをパッチが想定している対象リビジョンに更新する(又は戻す)か、
又は3.で後述するRevertでパッチを取り消してから改めてパッチを当てて下さい。
ファイル名が全て黒文字の場合は問題ありませんので、"File patche..."ウィンドウの空白部分を右クリックし、"Patch all"を選択します。
パッチが適用され、ファイル一覧が全てグレー文字での表示になります。
以上でパッチの適用は完了ですので、"TortoiseMerge"ウィンドウを閉じて下さい。"File patche..."ウィンドウもセットで閉じられます。
続いて、上書きした\lib\windowsとlib\win64フォルダーの中にあるlibs-fix.patchもそれぞれ上記と同じ手順で適用して下さい。
後は通常通りプロジェクト ファイルを作成し、ビルドして下さい。
3.パッチの取り消しと当て直し
パッチを当てた後にブランチを更新した場合、"Merged"・"Conflicted"と表示される場合があります。
"Merged"の場合はTortoiseSVNがパッチ情報を保ったままの更新に成功したという事ですので問題ありませんが、
"Conflicted"の場合はパッチを当てたファイルがオフィシャルの更新と不整合を起こし自動では修正出来なかったという事ですので、
パッチを一旦取り消した後改めてパッチを当て直す必要があります。
ブランチをチェックアウトしたフォルダーを右クリックし、メニューからTortoiseSVN→Revert...を選びます。
そうしますと"Revert -"というウィンドウが開いて、
オフィシャルの状態から変更されている(パッチの当たっている)ファイルの一覧が表示されます。
変更状態を取り消したいファイルの左側のチェックボックスにチェックを入れて下さい。
全てのファイルの変更状態を取り消してパッチも全て当て直す方が作業ミスが起きにくいですが、
衝突したファイルだけをパッチし直したい場合はそのファイルだけを選択して下さい。
選択し終わりましたら、ウィンドウ下部の"OK"ボタンを押して下さい。
ウィンドウが更新用に変わり、Reverted (ファイル名) Finished!と表示されれば取り消しは成功です。
ウィンドウ右下の"OK"ボタンをクリックし、ウィンドウを閉じて下さい。
但し、ファイル一覧で紫文字で表示されていたファイル(オフィシャルでは存在せず、パッチによって作成されたファイル。)は
Revertが成功しても削除されませんので、Revert後に改めて"Revert -"ウィンドウを開き、
ウィンドウ下部の"Delete unversioned items..."ボタンをクリックして"Delete Unversioned Items"ウィンドウを表示させ、
削除したいファイルの左側のチェックボックスにチェックを入れてウィンドウ下部の"OK"ボタンを押して削除して下さい。
その後、CMakelists-errorfix+.patchを右クリックしてメニューからTortoiseSVN→Apply patch...を選び、パッチを当て直します。
全てのファイルの変更状態を取り消した場合の手順は2.と同じです。
衝突したファイルだけをパッチ取り消しした場合は、"File patche..."ウィンドウのファイル一覧でパッチを当てたいファイル名を右クリックし、
"Patch selected"を選択します。そうしますと、そのファイルにだけパッチが適用されます。
但し、"Conflicted"の場合は殆どの場合パッチの適用に失敗します。その場合はパッチをダウンロードし直して新しいパッチをお使い下さい。
2011/3/6(rev.35367)時点での不具合(trunk, 2.4以外については割愛しています)
trunk
WITH_BUILDINFOを有効にした場合、blender.exeが正常に動作しない場合があります。
コピーされるべきファイルがコピーされません。
trunk(64bit)
WITH_JACK, WITH_QUICKTIMEはONにしないで下さい。64bitライブラリが用意されておりません(前述のパッチを使用しても解消不可)。
WITH_BUILDINFOを有効にした場合、blender.exeが正常に動作しない場合があります。
コピーされるべきファイルがコピーされません。
2.4
\lib\windows\pythonと\lib\windows\releaseのリビジョンをそれぞれ21598と22868に戻してからビルドして下さい。
2.4がPython2.6を標準にしたにも関わらず、CMakeのみPython2.5標準のままになっています。
亦、存在しないファイルをコピーしようとしたり、コピーされるべきファイルがコピーされなかったりします。
2.4(64bit)
2.4がPython2.6を標準にしたにも関わらず、CMakeのみPython2.5標準のままになっています。
亦、存在しないファイルを参照したりコピーしようとしたりしてエラーが発生したり、コピーされるべきファイルがコピーされなかったりします。
尚、プロジェクト ファイル作成時にWITH_QUICKTIMEをオフにして下さい。
64bitライブラリが用意されていない為、オンにするとビルド エラーとなります。
尚、現状"WITH_WEBPLUGIN"オプションはUNIX系OSのみでサポートされ、Windowsではコンパイルエラーとなります。
プログラミングはさっぱり分からないけれどBlenderの日々の開発の成果を1秒でも早く試したい新しもの好きな方、
Graphicall.org等にあるチューンド版Blenderを自分でも作ってみたい好奇心旺盛な方向けです。
準備は多少面倒ですが、それさえ済ませてしまえば後はクリック数回で簡単にSVNの更新とビルドが出来ます。
・前準備
1.Microsoft Visual C++ 2008 Express Edition SP1のダウンロードとインストール
Microsoft Visual C++ 2008 Express Edition SP1(頁内のvcsetup.exe)をダウンロードし、インストールします。
オフライン インストール版もございます。
2.Windows SDKのダウンロードとインストール
Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1をダウンロードし、インストールします。
オフライン インストール版もございます。
このバージョンにはOpenMP用ライブラリが含まれています。
場合によってはインストールがフリーズした様に遅く、数十分掛かる場合がありますが気長に待ちます。
3.DirectX SDKのダウンロードとインストール
DirectX SDKをダウンロードし、インストールします。
4.Visual C++ 2008 Express Editionで64bitビルドを行う為の諸準備
64bitビルドを行わない場合は、この項目を飛ばして5.フォルダーの作成にお進み下さい。
この作業にはWindowsの管理者権限が必要となります。
亦レジストリを操作しますので、失敗した場合アプリケーションやOSが起動しなくなる可能性があります。
Windowsの"スタート"メニューの検索ボックスか"ファイル名を指定して実行"に"regedit"と入力し、レジストリ エディタを起動します。
C:\Windows\regedit.exeを直接起動しても構いません。
エディター左側のフォルダー ツリーにて
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Visual Studio\9.0\VC\VC_OBJECTS_PLATFORM_INFO
を右クリックし、表示されたメニューから"エクスポート"を選択し好きな名前で保存します。
次に、保存した好きな名前.regファイルをメモ帳等のテキスト エディターで開き、32bitOSをお使いの場合は
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\VC\VC_OBJECTS_PLATFORM_INFO
と書かれている部分を全て
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VCExpress\9.0\VC\VC_OBJECTS_PLATFORM_INFO
に、64bitOSをお使いの場合は全て
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VCExpress\9.0\VC\VC_OBJECTS_PLATFORM_INFO
に変更して上書き保存した上で、上書きした.regファイルをダブルクリックし、ファイルの内容をレジストリに保存して下さい。
同様に、再びエディター左側のフォルダー ツリーにて
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\CLSID
を選択してエクスポートしテキスト エディターで開き、32bitOSをお使いの場合は
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\CLSID
と書かれている部分を全て
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VCExpress\9.0\CLSID
に、64bitOSをお使いの場合は全て
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VCExpress\9.0\CLSID
に変更して上書き保存しファイルの内容をレジストリに保存して下さい。
レジストリ エディタを使用した作業はこれで終了です。
最後に、エクスプローラーにてVisual Studioのインストール フォルダー\VC\vcpackagesフォルダーを開き、中にある
AMD64.VCPlatform.config
というファイルを
AMD64.VCPlatform.Express.config
という名前に変更して下さい。
64bitOSをお使いの場合は、上記に加えて以下の作業が必要になります。
まず、Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1のオフライン インストール版をご用意下さい。
次に、GRMSDKX_EN_DVD.isoの内容を書き込んだDVDメディアをDVDドライブに挿入するか
.isoファイルを仮想ドライブ(Alcohol 52%, Virtual CloneDrive等)にマウントしてエクスプローラーで開き、
Setup\vc_stdx86\vc_stdx86.cabをwinrar等で解凍して中にある
FL_VCProjectAMD64Platform_dll_76113_76113_x86_ln.3643236F_FC70_11D3_A536_0090278A1BB8
というファイルを
VCProjectAMD64Platform.dll
にリネームし、Visual Studioのインストール フォルダー\VC\vcpackagesフォルダーに入れて下さい。
(参考)
5.フォルダーの作成
好きな場所に、"bf-blender"という名前のフォルダー(他の名前でも構いません)を作成します。
上で作った"bf-blender"フォルダーの中に、"trunk"という名前のフォルダー(他の名前でも構いません)を作成します。
同じく"bf-blender"フォルダーの中に、"lib"という名前のフォルダーを作成します。
上で作った"lib"フォルダーの中に、"windows"という名前のフォルダーを作成します。
上で作った"windows"フォルダーの中に、"QTDevWin"という名前のフォルダーを作成します。
64bitビルドを行う場合は、同じく"lib"フォルダーの中に"win64"という名前のフォルダーを作成します。
最後に、好きな場所に"build"フォルダー(他の名前でも構いません)を作成します。
6.QuickTime SDKのダウンロードとインストール
QuickTime SDKをダウンロードし、インストールします。
ダウンロードするにはユーザー登録が必要ですが、簡単に行えます。
インストール先には、先程作った"QTDevWin"フォルダーを指定して下さい。
7.CMakeのダウンロードとインストール
CMakeをダウンロードし、インストールします。
開発版でも構いませんが、その場合は
沢山あるcmake-2.8.4.xxxxxxxx-xxxxxx-win32-x86.exeの内、日付が最新の物を選んで下さい。
8.Slik SVNのダウンロードとインストール
Slik SVNをダウンロードし、インストールします。
これは、Blenderのスプラッシュ(起動時メニュー)の右上に
詳細なバージョン ナンバーやリビジョン ナンバーを表示させる為に必要なものです。
9-1.TortoiseSVNのダウンロードとインストール
TortoiseSVNをダウンロードし、インストールします。
開発版でも構いませんが、
TortoiseSVN-1.6.99.xxxxx-dev-x64-svn-1.7.0-dev.msiは使用しないで下さい。
Slik SVNによるリビジョン ナンバーの取得が出来なくなります。
9-2.SVNのチェックアウト
SVNをチェックアウト(ダウンロード)します。
先程作った"trunk"フォルダーを右クリックし、メニューからTortoiseSVN→Checkout...を選びます。
そうしますとCheckoutというタイトルのウィンドウが開きますので、項目"URL of repository"に
https://svn.blender.org/svnroot/bf-blender/trunk/blender
と入力します。
その後ウィンドウ下部の"OK"ボタンを押すとチェックアウトが始まります。
大量のファイルをダウンロードしますので、回線状況に依っては多少時間が掛かります。
ウィンドウのタイトル バーに"TortoiseSVN Finished!"、ウィンドウ内に"Completed At revision: xxxxx"と
表示されれば更新は完了です。
次に同じく先程作った"windows"フォルダーを右クリックし、メニューからTortoiseSVN→Checkout...を選びます。
そうしますと先と同じくCheckoutというタイトルのウィンドウが開きますので、項目"URL of repository"に
https://svn.blender.org/svnroot/bf-blender/trunk/lib/windows
と入力します。
その後ウィンドウ下部の"OK"ボタンを押しますとチェックアウトが始まります。
同じく大量のファイルをダウンロードしますので、回線状況に依って多少時間が掛かります。
64bitビルドを行う場合は、同様に先に作った"win64"フォルダーを右クリックしてメニューからTortoiseSVN→Checkout...を選び、
開いたCheckoutというタイトルのウィンドウの項目"URL of repository"に
https://svn.blender.org/svnroot/bf-blender/trunk/lib/win64
と入力してウィンドウ下部の"OK"ボタンを押しチェックアウトします。
チェックアウトしたファイルとフォルダーには緑色のチェックマークが付きます。
10.Visual C++用プロジェクト ファイルの作成
スタート メニュー→プログラム→CMake 2.8から"CMake (cmake-gui)"(cmake-gui.exe)を
起動します。
ウィンドウ上部の"Where is the Source code:"の右にあるテキスト ボックスに、
先に作成しSVNをチェックアウトした"trunk"フォルダーのパスを入力します(例 D:\bf-blender\trunk)。
同じく"Where to build the binaries:"の右にあるテキストボックスに、
"build"フォルダーのパスを入力します(例 D:\bf-blender\build)。
ウィンドウ下部の"Configure"ボタンをクリックしますとタイトルの無いウィンドウが出てきますので、
"Specify the generator for this project"というメッセージの下にあるプルダウン メニューから
32bitビルドの場合は"Visual Studio 9 2008"を、64bitビルドの場合は"Visual Studio 9 2008 Win64"を選択します。
その下にある選択メニューでは"Use default native compilers"を選択します。
"Finish"ボタンをクリックしますとそれまで空白だったウィンドウ中央の空間に赤地の項目が十数個作成されますので、
その内"WITH_BUILDINFO", "WITH_BULLET"等項目名が"WITH_xxxxx"になっているものの内
32bitビルドの場合は"WITH_BUILDINFO", "WITH_JACK"を除く全て、
64bitビルドの場合は"WITH_BUILDINFO", "WITH_JACK", "WITH_QUICKTIME"を除く全てについて、
項目右側のチェックボックスをONにします。
これでblenderのほぼフルセットを作成する事が出来ます。
ウィンドウ上部にあるプルダウン メニューから"Advanced View"や"Grouped View"を選択しますと
更に多くの項目が表示されますが、こちらは変更する必要はありません。
オプションの設定が終わりましたらもう一度ウィンドウ下部の"Configure"ボタンをクリックします。
ウィンドウ最下部のメッセージ ボックスに"Configuring done"と表示され、赤地だった項目が灰地になりますので
"Configure"ボタンの隣の"Generate"ボタンをクリックします。
メッセージ ボックスに"Generating done"と表示され、プロジェクト ファイルとその他ビルドに必要なファイルが
"build"フォルダーに作成されます。
これでプロジェクト ファイルの作成は完了ですので、CMakeを終了させて下さい。
プロジェクト ファイルは一度作成してしまえばSVNを更新してもそのまま流用出来ますが、
大規模なファイルの追加(Add)や削除(Delete)、
CMake関連のファイルの変更があった場合ビルド時にエラー等の不具合が起きる事があります。
その際はプロジェクト ファイルの作り直しが必要になります。
以上で前準備は完了です。
尚、"WITH_BUILDINFO"(スプラッシュ右上へのバージョン ナンバーの表示)をONにしたい場合は、
後述のパッチを適用してからプロジェクト ファイルの作成を行って下さい。
・SVNの更新チェック〜ビルド
1.更新チェック
SVNはほぼ毎日更新されています。日本時間の夕方から早朝にかけてよく更新され、
日中は動きが止まっている事が多い様です。
"trunk"フォルダーを右クリックし、メニューからSVN Updateを選びます。
そうしますとウィンドウが開き、自動的にSVNの更新が行われます。
ウィンドウのタイトル バーに"TortoiseSVN Finished!"、ウィンドウ内に"Completed At revision: xxxxx"と
表示されれば更新は完了です。
更新完了後ウィンドウ右下に表示される"Show log..."ボタンをクリックしますと、
どのファイルにどの様な変更が加えられたかを見る事が出来ます。
"windows"フォルダーも同様に更新チェックしますが、こちらはあまり更新されていない様です。
2.ビルド
"build"フォルダー内にある"Blender.sln"をクリックします。
自動的にVisual C++ 2008が起動しますが、何も起こらない場合はVisual C++ 2008を手動で起動し
メニューからファイル→開く→プロジェクト/ソリューションで"Blender.sln"を開いて下さい。
次にウィンドウ上部にある緑の三角形の右にあるプルダウン メニューから
"Release"を選択します(初期設定では"Debug"になっています)。
最後に、メニューからビルド→ソリューションのビルド(又はソリューションのリビルド)を選択すると
ビルドが始まります。
数分(ビルドするマシン スペックに依ります)後、ウィンドウ最下部に
"ビルド正常終了"(又は"リビルドがすべて正常に終了しました。")と表示されればビルドは成功です。
"build"フォルダー内に"bin"フォルダーが出来ており、その中の"Release"フォルダーにBlenderのセットが入っています。
※"ソリューションのビルド"と"ソリューションのリビルド"の違い
一度ビルドした後でSVNが更新された際に、"ビルド"は更新のあったファイルだけを一からビルドし直し
残りは前回のビルドで作成された中間ファイルからビルドします(初回のビルドに比べて
ビルド時間が短縮されます)が、
"リビルド"は全て一からビルドし直します(常に初回のビルドと同じビルド時間が掛かります)。
etc.巻き戻し更新
SVNを更新してビルドしたらエラーが発生したので更新前に戻したいという場合は、
"trunk"フォルダーを右クリックし、メニューからTortoiseSVN→Update to revisionを選びます。
そうしますと"Update"というウィンドウが開きますので、"Revision"を選択して
右側のテキスト ボックスにリビジョン番号を入力して下さい。
番号が分からない場合はテキスト ボックスの上にある"Show log"ボタンで更新履歴が表示されますので、
更新日時(Date)で適当にアタリをつけて下さい。
・Optimize(チューニング)
以下私の設定であり、最善最速とは限りません。
1.コンパイラ オプションの設定
まず、Visual C++でBlender.slnを開きます。
ウィンドウ上部にある緑の三角形の右にあるプルダウン メニューが"Debug"になっている場合は
"Release"にして下さい。
ソリューション エクスプローラにて、"ALL_BUILD"の直下にある"bf_avi"をクリックし、水色に反転させて選択状態にして下さい。
次にShiftキーを押しながら"↓"キーを押し、最下部の"ZERO_CHECK"直上の"makesrna"迄全て選択状態にして下さい。
選択したファイルの内どれでも構わないので右クリックするとメニューが出ますので、
"プロパティ"を選択し"プロパティ ページ"ウィンドウを表示させます。
ウィンドウ左側の項目一覧から"構成プロパティ"→"C/C++"→"最適化"を選択し、
ウィンドウ右側の項目の設定を以下の様に変更して下さい。
組み込み関数を使用する・・・はい(/Oi)
速度またはサイズを優先・・・実行速度を優先(/Ot)
フレーム ポインタなし・・・はい(/Oy)
ファイバー保護の最適化・・・はい(/GT)
次にウィンドウ左側の項目一覧から"構成プロパティ"→"C/C++"→"コード生成"を選択し、
ウィンドウ右側の項目の設定を以下の様に変更して下さい。
関数レベルでリンクする・・・はい(/Gy)
拡張命令セットを有効にする・・・ストリーム SIMD 拡張機能 2(/arch:SSE2)
浮動小数点モデル・・・Fast(/fp:fast)
ウィンドウ左側の項目一覧から"構成プロパティ"→"C/C++"→"言語"を選択し、
ウィンドウ右側の項目の設定を以下の様に変更して下さい。
OpenMP サポート・・・はい(/openmp)
ウィンドウ下部の"OK"ボタンをクリックしてウィンドウを閉じます。
※注意
SSE2はPentiumIII以前の古いCPUではサポートされておりませんので、その場合は
拡張命令セットを有効にする・・・ストリーム SIMD 拡張機能(/arch:SSE)
若しくはデフォルト設定の
拡張命令セットを有効にする・・・設定なし
にして下さい。
64bitビルドでは/archオプションは無効ですので指定しないで下さい。
/fp:fastもblender.exeのリンクが完了しない不具合が発生しますので、こちらも指定しないで下さい。
2.リンカー オプションの設定
ソリューション エクスプローラにて"ALL_BUILD"と"ZERO_CHECK"以外の全ての項目が選択された先の状態から、
項目"blender"をクリックします。
続けて、項目"blenderplayer"、"makesdna"、"makesrna"を
それぞれCtrlキーを押しながらクリックして下さい。
そうしますと上記4つの項目が選択された状態になりますので、4つの内どれでも良いので右クリックして
メニューからプロパティを選択し"プロパティ ページ"ウィンドウを表示させます。
ウィンドウ左側の項目一覧から"構成プロパティ"→"リンカ"→"システム"を選択し、
ウィンドウ右側の項目の設定を以下の様に変更して下さい。
大きいサイズのアドレス・・・2 GB を超えるアドレスをサポートする (/LARGEADDRESSAWARE)
次にウィンドウ左側の項目一覧から"構成プロパティ"→"リンカ"→"最適化"を選択し、
ウィンドウ右側の項目の設定を以下の様に変更して下さい。
参照・・・参照されないデータを除去する (/OPT:REF)
COMDATの圧縮・・・冗長な COMDAT を削除する (/OPT:ICF)
リンク時のコード生成を使用・・・リンク時のコード生成を使用 (/ltcg)
ウィンドウ左側の項目一覧から"構成プロパティ"→"リンカ"→"詳細"を選択し、
ウィンドウ右側の項目の設定を以下の様に変更して下さい。
(32bitビルドの場合)
対象コンピュータ・・・MachineX86 (/MACHINE:X86)
(64bitビルドの場合)
対象コンピュータ・・・MachineX64 (/MACHINE:X64)
このオプションはビルド時やアプリケーション起動時の不具合回避の為のもので、
設定してもしなくてもパフォーマンスに影響はありません。
ウィンドウ下部の"OK"ボタンをクリックしてウィンドウを閉じます。
以上で設定は終了です。後は通常通りビルドして下さい。
ex.主なオプションの効能書き
拡張命令セットを有効にする・・・ストリーム SIMD 拡張機能 2(/arch:SSE2)
全体的な処理速度が20~30%向上する様です(特にCore2系CPUで顕著)。
OpenMP サポート・・・はい(/openmp)
ClothやFluidのBakeがマルチスレッド化される為、デュアルコアCPUやクアッドコアCPU環境では
処理速度が100~200%以上向上します。
大きいサイズのアドレス・・・2 GB を超えるアドレスをサポートする (/LARGEADDRESSAWARE)
LAA(Large Address Aware)フラグと呼ばれているものです。
32bitアプリケーションは2GBまでしかメモリを使えませんが、LAAを指定する事により
計算上はPAE(Physical Address Extension)オプションを有効にした32bit版Windowsでは3GB、
64bit版Windowsでは4GB迄Blenderがメモリを使用する事が出来ます。
64bitアプリケーションの場合は8TB迄使用出来ます。
・trunk(基本のBlender)以外のBlenderもビルドしてみたい場合
"bf-blender"フォルダーの中に好きな名前のフォルダーを2つ(Checkout用とビルド用)作成して、
下記の()内のアドレスからtrunkと同じ手順でCheckoutしCMakeでプロジェクト ファイルを作成した後
ビルドして下さい。
\lib\windowsと\lib\win64はtrunk用の物がビルド時に自動的に共用されます。
2.4(https://svn.blender.org/svnroot/bf-blender/branches/blender2.4)
2.48, 2.49等の2.xx系Blenderのtrunkでしたが開発は終了し、現在はたまにメンテナンスが行われるのみです。
3dsculpt(https://svn.blender.org/svnroot/bf-blender/branches/soc-2010-jwilkins)
trunkのスカルプト機能を強化したものです。
bmesh(https://svn.blender.org/svnroot/bf-blender/branches/bmesh/blender)
trunkに搭載される、新しいメッシュ編集ツールの開発ブランチです。(開発者サイト)
bullet(https://svn.blender.org/svnroot/bf-blender/branches/soc-2010-aligorith-2)
bullet(物理演算ライブラリ)をgameengine以外でも使用可能にしたものです。(開発者サイト)
freestyle(https://svn.blender.org/svnroot/bf-blender/branches/soc-2008-mxcurioni)
trunkにfreestyleという描線レンダラを追加したものです。(開発者サイト)
multires(https://svn.blender.org/svnroot/bf-blender/branches/soc-2010-nicolasbishop)
trunkのmulti resolution機能の改善ブランチです。
nurbs-merge(https://svn.blender.org/svnroot/bf-blender/branches/nurbs-merge)
trunkのNURBS機能を強化したものです。(開発者サイト)
particles(https://svn.blender.org/svnroot/bf-blender/branches/particles-2010)
trunkのパーティクル機能を拡張したものです。(参考)
render25(https://svn.blender.org/svnroot/bf-blender/branches/render25)
trunkのレンダリング関係の内部構造を整理し再構築する為のブランチです。
他にも色々なブランチがあります。
・その他
SVN更新の際、更新されたソースの不備やCMake関連ファイルとの齟齬によりビルド不可能になる場合があります。
そういった不具合を解消するパッチ(随時更新)を置いておきますので、必要に応じてお使い下さい。→Download
パッチの使い方
1.前準備
zipファイルをダウンロードし展開しますと、for 2.4,for bmesh...といった風に各ブランチ用にフォルダーが分かれております。
パッチを当てたいブランチの名称のフォルダーの中にあるCMakelists-errorfix+.patchを、
ブランチをチェックアウトしたフォルダー(例:D:\bf-blender\trunk)にコピーして下さい。
CMakelists-buildinfo.patchはビルド環境によっては逆に不具合を起こす可能性がありますので、
同梱のreadmeを読んでからお使い下さい。
使用する場合のコピー先は、CMakelists-errorfix+.patchのコピー先と同一です。
次に、libs-fixフォルダーの中にあるwindowsフォルダー(32bit用)とwin64フォルダー(64bit用)を、
Blenderのライブラリ フォルダー、\lib\windowsとlib\win64にそれぞれ上書きして下さい。
2.適用
コピーしたCMakelists-errorfix+.patchを右クリックし、メニューからTortoiseSVN→Apply patch...を選びます。
そうしますと"File patche..."というタイトルの小さなウィンドウと"TortoiseMerge"というタイトルの大きなウィンドウが開きます。
"File patche..."ウィンドウには、パッチ対象ファイルの一覧が表示されております。
この際、パッチが想定している対象リビジョンに対してブランチのリビジョンが古かったり新しかったりする場合や
既にパッチが当たっている状態で更にパッチを当てようとしている場合は
赤文字で表示されるファイルが発生する事があります。赤文字で表示されているファイルにはパッチが当てられません。
その場合はブランチのリビジョンをパッチが想定している対象リビジョンに更新する(又は戻す)か、
又は3.で後述するRevertでパッチを取り消してから改めてパッチを当てて下さい。
ファイル名が全て黒文字の場合は問題ありませんので、"File patche..."ウィンドウの空白部分を右クリックし、"Patch all"を選択します。
パッチが適用され、ファイル一覧が全てグレー文字での表示になります。
以上でパッチの適用は完了ですので、"TortoiseMerge"ウィンドウを閉じて下さい。"File patche..."ウィンドウもセットで閉じられます。
続いて、上書きした\lib\windowsとlib\win64フォルダーの中にあるlibs-fix.patchもそれぞれ上記と同じ手順で適用して下さい。
後は通常通りプロジェクト ファイルを作成し、ビルドして下さい。
3.パッチの取り消しと当て直し
パッチを当てた後にブランチを更新した場合、"Merged"・"Conflicted"と表示される場合があります。
"Merged"の場合はTortoiseSVNがパッチ情報を保ったままの更新に成功したという事ですので問題ありませんが、
"Conflicted"の場合はパッチを当てたファイルがオフィシャルの更新と不整合を起こし自動では修正出来なかったという事ですので、
パッチを一旦取り消した後改めてパッチを当て直す必要があります。
ブランチをチェックアウトしたフォルダーを右クリックし、メニューからTortoiseSVN→Revert...を選びます。
そうしますと"Revert -"というウィンドウが開いて、
オフィシャルの状態から変更されている(パッチの当たっている)ファイルの一覧が表示されます。
変更状態を取り消したいファイルの左側のチェックボックスにチェックを入れて下さい。
全てのファイルの変更状態を取り消してパッチも全て当て直す方が作業ミスが起きにくいですが、
衝突したファイルだけをパッチし直したい場合はそのファイルだけを選択して下さい。
選択し終わりましたら、ウィンドウ下部の"OK"ボタンを押して下さい。
ウィンドウが更新用に変わり、Reverted (ファイル名) Finished!と表示されれば取り消しは成功です。
ウィンドウ右下の"OK"ボタンをクリックし、ウィンドウを閉じて下さい。
但し、ファイル一覧で紫文字で表示されていたファイル(オフィシャルでは存在せず、パッチによって作成されたファイル。)は
Revertが成功しても削除されませんので、Revert後に改めて"Revert -"ウィンドウを開き、
ウィンドウ下部の"Delete unversioned items..."ボタンをクリックして"Delete Unversioned Items"ウィンドウを表示させ、
削除したいファイルの左側のチェックボックスにチェックを入れてウィンドウ下部の"OK"ボタンを押して削除して下さい。
その後、CMakelists-errorfix+.patchを右クリックしてメニューからTortoiseSVN→Apply patch...を選び、パッチを当て直します。
全てのファイルの変更状態を取り消した場合の手順は2.と同じです。
衝突したファイルだけをパッチ取り消しした場合は、"File patche..."ウィンドウのファイル一覧でパッチを当てたいファイル名を右クリックし、
"Patch selected"を選択します。そうしますと、そのファイルにだけパッチが適用されます。
但し、"Conflicted"の場合は殆どの場合パッチの適用に失敗します。その場合はパッチをダウンロードし直して新しいパッチをお使い下さい。
2011/3/6(rev.35367)時点での不具合(trunk, 2.4以外については割愛しています)
trunk
WITH_BUILDINFOを有効にした場合、blender.exeが正常に動作しない場合があります。
コピーされるべきファイルがコピーされません。
trunk(64bit)
WITH_JACK, WITH_QUICKTIMEはONにしないで下さい。64bitライブラリが用意されておりません(前述のパッチを使用しても解消不可)。
WITH_BUILDINFOを有効にした場合、blender.exeが正常に動作しない場合があります。
コピーされるべきファイルがコピーされません。
2.4
\lib\windows\pythonと\lib\windows\releaseのリビジョンをそれぞれ21598と22868に戻してからビルドして下さい。
2.4がPython2.6を標準にしたにも関わらず、CMakeのみPython2.5標準のままになっています。
亦、存在しないファイルをコピーしようとしたり、コピーされるべきファイルがコピーされなかったりします。
2.4(64bit)
2.4がPython2.6を標準にしたにも関わらず、CMakeのみPython2.5標準のままになっています。
亦、存在しないファイルを参照したりコピーしようとしたりしてエラーが発生したり、コピーされるべきファイルがコピーされなかったりします。
尚、プロジェクト ファイル作成時にWITH_QUICKTIMEをオフにして下さい。
64bitライブラリが用意されていない為、オンにするとビルド エラーとなります。
尚、現状"WITH_WEBPLUGIN"オプションはUNIX系OSのみでサポートされ、Windowsではコンパイルエラーとなります。
投票数:7
平均点:4.29
qurui721
居住地: 神奈川県
投稿数: 3
Thanks very much.
I have successfully completed the release version .
but when i tried to build the debug version , there was some link errors :
1>リンクしています...
1> ライブラリ C:\workdir\bf-blender\build\bin\Debug\blender.lib とオブジェクト C:\workdir\bf-blender\build\bin\Debug\blender.exp を作成中
1>libjpeg.lib(jerror.o) : warning LNK4217: ローカルで定義されたシンボル __iob がフィクション _output_message にインポートされました。
1>libpng_st.lib(pngerror.o) : warning LNK4049: ローカルで定義されたシンボル __iob がインポートされました。
1>libpng_st.lib(pngwutil.o) : warning LNK4049: ローカルで定義されたシンボル __iob がインポートされました。
1>libpng_st.lib(pngrutil.o) : warning LNK4049: ローカルで定義されたシンボル __iob がインポートされました。
1>IlmThread.lib(IlmThreadPool.obj) : error LNK2019: 未解決の外部シンボル __invalid_parameter_noinfo が関数 "char * __cdecl std::_Allocate<char>(unsigned int,char *)" (??$_Allocate@D@std@@YAPADIPAD@Z) で参照されました。
1>IlmImf.lib(ImfScanLineInputFile.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfPxr24Compressor.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfPizCompressor.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmThread.lib(IlmThreadSemaphoreWin32.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfMisc.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfTileOffsets.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfTiledMisc.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfTiledInputFile.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfStringAttribute.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfStdIO.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfChannelListAttribute.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfOpaqueAttribute.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfChannelList.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfTiledOutputFile.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfInputFile.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfAttribute.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>Half.lib(half.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfHeader.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfOutputFile.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfFrameBuffer.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>C:\workdir\bf-blender\build\bin\Debug\blender.exe : fatal error LNK1120: 外部参照 1 が未解決です。
1>ビルドログは "file://c:\workdir\bf-blender\build\source\creator\blender.dir\Debug\BuildLog.htm" に保存されました。
1>blender - エラー 22、警告 4
========== ビルド: 0 正常終了、1 失敗、57 更新不要、0 スキップ ==========
Would you like to give me some suggestion?
thanks.
I have successfully completed the release version .
but when i tried to build the debug version , there was some link errors :
1>リンクしています...
1> ライブラリ C:\workdir\bf-blender\build\bin\Debug\blender.lib とオブジェクト C:\workdir\bf-blender\build\bin\Debug\blender.exp を作成中
1>libjpeg.lib(jerror.o) : warning LNK4217: ローカルで定義されたシンボル __iob がフィクション _output_message にインポートされました。
1>libpng_st.lib(pngerror.o) : warning LNK4049: ローカルで定義されたシンボル __iob がインポートされました。
1>libpng_st.lib(pngwutil.o) : warning LNK4049: ローカルで定義されたシンボル __iob がインポートされました。
1>libpng_st.lib(pngrutil.o) : warning LNK4049: ローカルで定義されたシンボル __iob がインポートされました。
1>IlmThread.lib(IlmThreadPool.obj) : error LNK2019: 未解決の外部シンボル __invalid_parameter_noinfo が関数 "char * __cdecl std::_Allocate<char>(unsigned int,char *)" (??$_Allocate@D@std@@YAPADIPAD@Z) で参照されました。
1>IlmImf.lib(ImfScanLineInputFile.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfPxr24Compressor.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfPizCompressor.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmThread.lib(IlmThreadSemaphoreWin32.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfMisc.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfTileOffsets.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfTiledMisc.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfTiledInputFile.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfStringAttribute.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfStdIO.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfChannelListAttribute.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfOpaqueAttribute.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfChannelList.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfTiledOutputFile.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfInputFile.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfAttribute.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>Half.lib(half.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfHeader.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfOutputFile.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>IlmImf.lib(ImfFrameBuffer.obj) : error LNK2001: 外部シンボル "__invalid_parameter_noinfo" は未解決です。
1>C:\workdir\bf-blender\build\bin\Debug\blender.exe : fatal error LNK1120: 外部参照 1 が未解決です。
1>ビルドログは "file://c:\workdir\bf-blender\build\source\creator\blender.dir\Debug\BuildLog.htm" に保存されました。
1>blender - エラー 22、警告 4
========== ビルド: 0 正常終了、1 失敗、57 更新不要、0 スキップ ==========
Would you like to give me some suggestion?
thanks.
投票数:11
平均点:9.09
無題
msg# 1.1.1
Anonymous
投稿数: 17
投票数:2
平均点:10.00
uimac
投稿数: 49
Ilm〜.libは、openexrの参照設定が問題かもしれません。
http://www.geneome.net/blender-tutorials/building-blender-with-msvc-using-cmake/
の3b。
VS2008EE + OpenMPのDEBUGビルドは、こんな方法があるようです。
http://d.hatena.ne.jp/ultraist/20080302/1204458111
http://www.geneome.net/blender-tutorials/building-blender-with-msvc-using-cmake/
の3b。
VS2008EE + OpenMPのDEBUGビルドは、こんな方法があるようです。
http://d.hatena.ne.jp/ultraist/20080302/1204458111
投票数:8
平均点:3.75
qurui721
居住地: 神奈川県
投稿数: 3
分かりました。
ありがとうございました。
ありがとうございました。
投票数:6
平均点:6.67
Visual C++ 2010 Expressを使用する場合の手順変更点
msg# 1.2
Anonymous
投稿数: 17
・前準備
1-1.Windows SDKのダウンロードとインストール
Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1をダウンロードし、インストールします。
オフライン インストール版もございます。
このバージョンにはOpenMP用ライブラリが含まれています。
場合によってはインストールがフリーズした様に遅く、数十分掛かる場合がありますが気長に待ちます。
1-2.Microsoft Visual C++ 2010 Expressのダウンロードとインストール
Microsoft Visual C++ 2010 Expressをダウンロードし、インストールします。
オフライン インストール版もございます。
1-3.Windows SDK(Visual C++ 2010用)のダウンロードとインストール
Microsoft Windows SDK for Windows 7 and .NET Framework 4 をダウンロードし、インストールします。
オフライン インストール版(32bitOSをお使いの場合はGRMSDK_EN_DVD.isoを、64bitOSの場合はGRMSDKX_EN_DVD.isoを)もございます。
2-1.Microsoft Visual Studio 2010 Service Pack 1 Betaのダウンロードとインストール
Microsoft Visual Studio 2010 Service Pack 1 Betaをダウンロードし、インストールします。
ページ下部にはオフライン インストール版へのリンクもあります。
2-2.OpenMP関連ファイルのコピー
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include(64bitOSの場合)
C:\Program Files\Microsoft Visual Studio 9.0\VC\include(32bitOSの場合)
フォルダーにありますomp.h・ompassem.h、
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib(64bitOSの場合)
C:\Program Files\Microsoft Visual Studio 9.0\VC\lib(32bitOSの場合)
フォルダーにありますvcomp.lib・vcompd.lib、
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib\amd64(64bitOSの場合)
C:\Program Files\Microsoft Visual Studio 9.0\VC\lib\amd64(32bitOSの場合)
フォルダーにありますvcomp.lib・vcompd.libを、それぞれ
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include(64bitOSの場合)
C:\Program Files\Microsoft Visual Studio 9.0\VC\include(32bitOSの場合)
、
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib(64bitOSの場合)
C:\Program Files\Microsoft Visual Studio 10.0\VC\lib(32bitOSの場合)
、
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64(64bitOSの場合)
C:\Program Files\Microsoft Visual Studio 10.0\VC\lib\amd64(32bitOSの場合)
にコピーして下さい。
手順3は変更無し、手順4は不要
手順5以降はVisual C++ 2008 SP1の場合と同様ですが、
2011/3/6現在Blenderのビルド システムはVisual C++ 2010には正式対応しておらず、そのままではビルド不可能です。
プロジェクト ファイルの作成前に必ずパッチを適用して下さい。
1-1.Windows SDKのダウンロードとインストール
Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1をダウンロードし、インストールします。
オフライン インストール版もございます。
このバージョンにはOpenMP用ライブラリが含まれています。
場合によってはインストールがフリーズした様に遅く、数十分掛かる場合がありますが気長に待ちます。
1-2.Microsoft Visual C++ 2010 Expressのダウンロードとインストール
Microsoft Visual C++ 2010 Expressをダウンロードし、インストールします。
オフライン インストール版もございます。
1-3.Windows SDK(Visual C++ 2010用)のダウンロードとインストール
Microsoft Windows SDK for Windows 7 and .NET Framework 4 をダウンロードし、インストールします。
オフライン インストール版(32bitOSをお使いの場合はGRMSDK_EN_DVD.isoを、64bitOSの場合はGRMSDKX_EN_DVD.isoを)もございます。
2-1.Microsoft Visual Studio 2010 Service Pack 1 Betaのダウンロードとインストール
Microsoft Visual Studio 2010 Service Pack 1 Betaをダウンロードし、インストールします。
ページ下部にはオフライン インストール版へのリンクもあります。
2-2.OpenMP関連ファイルのコピー
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include(64bitOSの場合)
C:\Program Files\Microsoft Visual Studio 9.0\VC\include(32bitOSの場合)
フォルダーにありますomp.h・ompassem.h、
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib(64bitOSの場合)
C:\Program Files\Microsoft Visual Studio 9.0\VC\lib(32bitOSの場合)
フォルダーにありますvcomp.lib・vcompd.lib、
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\lib\amd64(64bitOSの場合)
C:\Program Files\Microsoft Visual Studio 9.0\VC\lib\amd64(32bitOSの場合)
フォルダーにありますvcomp.lib・vcompd.libを、それぞれ
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include(64bitOSの場合)
C:\Program Files\Microsoft Visual Studio 9.0\VC\include(32bitOSの場合)
、
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib(64bitOSの場合)
C:\Program Files\Microsoft Visual Studio 10.0\VC\lib(32bitOSの場合)
、
C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\lib\amd64(64bitOSの場合)
C:\Program Files\Microsoft Visual Studio 10.0\VC\lib\amd64(32bitOSの場合)
にコピーして下さい。
手順3は変更無し、手順4は不要
手順5以降はVisual C++ 2008 SP1の場合と同様ですが、
2011/3/6現在Blenderのビルド システムはVisual C++ 2010には正式対応しておらず、そのままではビルド不可能です。
プロジェクト ファイルの作成前に必ずパッチを適用して下さい。
投票数:4
平均点:7.50
こやけい
投稿数: 3
Sp1にアップグレードしないとammintrin.hが変なソースコードからリンクされてうまくビルドできません。
64bitビルドをするときに64bitのライブラリをcmakelist.がうまく読み行かないときは、/../x64という部分を削除して、x64専用ライブラリがあるディレクトリと直接指定するといけます。
色々頑張っていますが、期限切れのファイルが沢山生成されるのでうまくビルドできません。
zero checkやall buildプロジェクトが期限切れになるのをなおすにはどうしたらいいでしょうか?
64bitビルドをするときに64bitのライブラリをcmakelist.がうまく読み行かないときは、/../x64という部分を削除して、x64専用ライブラリがあるディレクトリと直接指定するといけます。
色々頑張っていますが、期限切れのファイルが沢山生成されるのでうまくビルドできません。
zero checkやall buildプロジェクトが期限切れになるのをなおすにはどうしたらいいでしょうか?
投票数:3
平均点:10.00
7件表示
(全0件)
すべてのコメント一覧へ
ログイン
クイックリンク
2021/07/01版
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)
●ニュース(英文)
BlenderNation
●Blenderコミュニティ
blenderartists.org
●Blender Q&A
- Blender Stack Exchange
●テストビルド
Buildbot(自動生成)
●開発関連
公式開発サイト
Blender開発blog
Blender Wiki
●Blender.org
BlenderFoundation
- Blenderのダウンロード
- 公式チュート等
- 公式マニュアル(和訳)
●ニュース(英文)
BlenderNation
●Blenderコミュニティ
blenderartists.org
●Blender Q&A
- Blender Stack Exchange
●テストビルド
Buildbot(自動生成)
●開発関連
公式開発サイト
Blender開発blog
Blender Wiki