#author("2024-12-17T11:04:25+00:00","default:iseki","iseki")
** Windows 下での再コンパイル [#la3e53b5]
- ソースリポジトリ: http://hg.phoenixviewer.com/
- コンパイル方法: http://wiki.phoenixviewer.com/doku.php?id=fs_compiling_firestorm_windows

- 必要なソフト
-- VC2010, Cmake2.8, Python2.7, Mercurial(hg), Cygwin, Unicode NSIS, QuickTime SDK



*** Download of Source Code [#q2614015]
- 4.2.2.2.
 hg clone http://hg.phoenixviewer.com/phoenix-firestorm-lgpl/ phoenix-firestorm-4.2.2.29837 -u 83962c3d00d
- 4.0.1.27000 
 hg clone http://hg.phoenixviewer.com/phoenix-firestorm-lgpl/ phoenix-firestorm-4.0.1.27000 -u 27000
- 3.2.1.24179: http://hg.phoenixviewer.com/phoenix-firestorm-lgpl/ 
 hg clone http://hg.phoenixviewer.com/phoenix-firestorm-lgpl/ phoenix-firestorm-3.2.1.24179 -u 24179
- 3.2.2.24336: http://hg.phoenixviewer.com/phoenix-firestorm-sh/
 hg clone http://hg.phoenixviewer.com/phoenix-firestorm-sh/ phoenix-firestorm-3.2.2.24336 -u 24336
- 3.3.0.24882: http://hg.phoenixviewer.com/firestorm_3.2.2_to_3.3.0/
 hg clone http://hg.phoenixviewer.com/firestorm_3.2.2_to_3.3.0/ phoenix-firestorm-3.3.0.24882 -u 24882


*** Cygwin [#s8a8ae78]
- unzip, bison, flex, patchutils , curl が必要
- bin に PATHが必要.インストール時にパスを通しておけば不用.


*** VC2010 [#x660eb4b]
- VC++ 2010 Express は MFC が使えん.ダメダメである.(Firestorm をコンパイルするだけなら問題ない)
- VS2010 Professional を入れなおす. 


*** autobuild [#ye8c5592]
- hg clone http://hg.secondlife.com/autobuild/
- autobuild\bin\ にパスが必要. C:\python27 にパスが必要.
- autobuild で pathcheck のエラーが出た場合.(autobuild.common.AutobuildError: invalid 'pathcheck' setting for '.....)
-- %%boto は python2.5 のライブラリらしいが,実際には必要ないみたい.%%
-- %%autobuild/autobuild/common.py  の L533-539 をコメントアウト%%
-- %%autobuild/autobuild/connection.py の L40 をコメントアウト%%
-- AppData\Local\Temp\install.cache.<ユーザ名>\* を消す
- Cドライブでやると,書き込みでパーミッションエラーが出る.
-- Windows でパーミッション?  ;( 
-- 面倒なので,Cygwin の Shell で該当フォルダまで行って, chmod -R a+rwx .


*** Fmod [#yde40e75]
- Make Package
 hg clone https://bitbucket.org/lindenlab/3p-fmod/
 cd 3p-fmod
 autobuild build --all
 autobuild package
- Check md5 checksum that "autobuild package" outputed
 packing fmod
 wrote  J:\firestorm\3p-fmod\fmod-3.75-windows-20111229.tar.bz2
 md5    8fb05751bf7c994ce38cd2d98f3b21c4


** Re-Compile [#s15f6a67]
*** Generate Project File for VC2010 [#s891f9a5]
+ cd [TOP of Source]
+ copy autobuild.xml my_autobuild.xml
-- Rewrite ''md5 checksum'' and ''directory'' of Fmod in my_autobuild.xml
+ ''autobuild'' を実行
 set AUTOBUILD_CONFIG_FILE=my_autobuild.xml
 autobuild configure -c ReleaseFS_open  -- -DFMOD=TRUE
+ OpenSim の機能を有効にするには,''HAS_OPENSIM_SUPPORT'' を有効にする
 autobuild configure -c ReleaseFS_open  -- -DFMOD=TRUE -DHAS_OPENSIM_SUPPORT=TRUE

**** Sample of change for my_autobuild.xml [#c5b29c7d]
- Original
 <map>
   <key>hash</key>
   <string>ecf16c7d1b878a9733f4a85d28347948</string>
   <key>url</key>
   <string>file:///c:/cygwin/opt/firestorm/fmod-3.75-windows-20110706.tar.bz2</string>
 </map>
- Modify
 <map>
   <key>hash</key>
   <string>8fb05751bf7c994ce38cd2d98f3b21c4</string>
   <key>url</key>
   <string>file:///j:/firestorm/3p-fmod/fmod-3.75-windows-20111229.tar.bz2</string>
 </map>

*** Compile [#lf183c42]
- build-vc100\ALL_BUILD.vcxproj をダブルクリックして VC2010 を起動
- ソリューションエクスプローラーの firestorm-bin を クリックして,ビルドメニューから firestorm-bin のビルドを行う (ターゲットは Release).
- build-vc100\newview\Release に Viewer が構築される.


*** Compile Errors [#b54caaa1]
- QuickTime SDK\CIncludes\GNUCompatibility\stdint.h と build-vc100\packages\include\boost\cstdint.hpp がコンフリクト
-- stdint.h を適当に書き換える. 例↓
 #ifndef BOOST_CSTDINT_HPP
 typedef short int_fast16_t;
 typedef unsigned short uint_fast16_t;
 #endif
 .................
 #ifndef INT8_C
 #define INT8_C(val) (INT_LEAST8_MAX-INT_LEAST8_MAX+(val))
 #define INT16_C(val) (INT_LEAST16_MAX-INT_LEAST16_MAX+(val))
 #define INT32_C(val) (INT_LEAST32_MAX-INT_LEAST32_MAX+(val))
 #define INT64_C(val) (INT_LEAST64_MAX-INT_LEAST64_MAX+(val))
 
 #define UINT8_C(val) (UINT_LEAST8_MAX-UINT_LEAST8_MAX+(val))
 #define UINT16_C(val) (UINT_LEAST16_MAX-UINT_LEAST16_MAX+(val))
 #define UINT32_C(val) (UINT_LEAST32_MAX-UINT_LEAST32_MAX+(val))
 #define UINT64_C(val) (UINT_LEAST64_MAX-UINT_LEAST64_MAX+(val))
 #endif
 
 /* 7.18.4.2  Macros for greatest-width integer constants */ 
 #ifndef INTMAX_C
 #define INTMAX_C(val) (INTMAX_MAX-INTMAX_MAX+(val))
 #define UINTMAX_C(val) (UINTMAX_MAX-UINTMAX_MAX+(val))
 #endif

- C2220 のエラーが出る場合は,UTF-8(BOM付き)で保存し直す.
- その他適当に修正する.



トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 ページ一覧 検索 最終更新   ヘルプ   最終更新のRSS