#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付き)で保存し直す. - その他適当に修正する.