ページ内コンテンツ
Windows 下での再コンパイル
- ソースリポジトリ: 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
- 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
VC2010
- VC++ 2010 Express は MFC が使えん.ダメダメである.(Firestorm をコンパイルするだけなら問題ない)
- VS2010 Professional を入れなおす.
autobuild
- 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
- 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
Generate Project File for VC2010
- 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
- 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
- build-vc100\ALL_BUILD.vcxproj をダブルクリックして VC2010 を起動
- ソリューションエクスプローラーの firestorm-bin を クリックして,ビルドメニューから firestorm-bin のビルドを行う (ターゲットは Release).
- build-vc100\newview\Release に Viewer が構築される.
Compile Errors
- 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
- stdint.h を適当に書き換える. 例↓
- C2220 のエラーが出る場合は,UTF-8(BOM付き)で保存し直す.
- その他適当に修正する.
Counter: 2168,
today: 2,
yesterday: 1
最終更新: 2013-06-13 (木) 16:18:00 (JST) (4111d) by iseki