Home » SecondLife Viewer

SecondLife Viewer


SecondLife Viewer 3 のビルド環境の構築

・ソースコード
https://bitbucket.org/lindenlab/viewer-release/overview

上記URLから目的のソースコードを探してダウンロードする.


・FMOD

1. http://s3-proxy.lindenlab.com/ から FMOD (オーディオ関係ライブラリ)をダウンロードできないので,手動でダウンロードし,パッケージを構築する.

例)ダウンロード箇所が D:\ の場合
 C:\Users\admin> D:
 D:\> hg clone https://bitbucket.org/lindenlab/3p-fmod/
 D:\> cd 3p-fmod
 D:\3p-fmod> autobuild build --all
 D:\3p-fmod> autobuild package > fmod_info.txt

2. 上記のコマンドが成功すれば,fmod_info.txt に fmodパッケージの情報が保存されるのでエディタで確認する.

例)
 packing fmod
 wrote  D:\3p-fmod\fmod-3.75-windows-20120719.tar.bz2
 md5    595a6e14043f4c86891625f17d748446

 

・環境の構築
1. トップフォルダにあるソースコード付属の設定ファイル autobuild.xmlmy_autobuild.xml にコピーする.
2. my_autobuild.xml をエディタで開き,fmod ライブラリの設定箇所のWindows部分を前述の fmod_info.txt の情報で置き換える.
ファイルのパスの \ は / に直しても良いし,そのままでも良い.

例)my_autobuild.xml
  <key>windows</key>
  <map>
    <key>archive</key>
    <map>
      <key>hash</key>
      <string>a4730f7dd8ac138fd23408c19de59ca9</string>   <-- ここを書き換える
      <key>url</key>                                          
      <string>file:///D:\3p-fmod\fmod-3.75-windows-20120728.tar.bz2</string>
      </map>
    <key>name</key>
    <string>windows</string>
  </map>

3. 次に,以下のコマンドで,VC++ 2010用のビルド環境を生成する.

例)トップのフォルダが D:\SLViewer3 の場合
 C:\Users\admin> D:
 D:\> cd SLViewer3
 D:\SLViewer3> set AUTOBUILD_CONFIG_FILE=my_autobuild.xml
 D:\SLViewer3> autobuild configure -c Release -- -DFMOD=TRUE -DUSE_KDU=FALSE -DINSTALL_PROPRIETARY=FALSE

 

 



VC++ 2010 によるビルド(コンパイル)

・手順
1. atoubuild が正常に終了すると,トップのフォルダに build-vc100 というフォルダが生成される.
2. build-vc100 フォルダに移動し,ALL_BUILD.vcxproj をダブルクリックして VC++ 2010を起動する.
3. ソリューション構成を Release にする.
4. ソリューションエクスプローラーから secondlife-bin を選択し,ビルドメニューから 「secondlife-bin のビルド」 を選択してビルドを開始する.
5. ビルドエラーが発生した場合は,下記の注意事項を参照する.なお殆どのエラーはワーニングレベルを下げる事によっても回避できる.
6. ビルドが成功すれば,build-vc100\newview\Release に ビューアが構築されるので確認する.
7. ビルドされたビューアはそのままでは起動しない.既にインストール済みの同じビューアのフォルダにコピーして起動するか,Releaseフォルダに以下の ファイルをコピーしてから起動する.

indra\newview\app_settings (上書き)
indra\newview\character
indra\newview\fonts
indra\newview\skins


 

・注意事項
1. もし 文字コードに対するワーニングとエラー:warning C4819, error C2220 が出た場合は,該当ファイルをエディタで開いて UTF-8(BOM付き)で保存し直す.
2. 特に collada の1.4-domのヘッダファイルはどのビューアでもエラーが発生するので,問題のあるファイルをUTF-8(BOM付き)で保存し直したものを以下に載せる .ダウンロード・解凍後,解凍フォルダの packagesbuild-vc100\packages に上書きしてからビルドを行う.

3. indra\newview\tests\lltranslate_test.cpp の改行コードがおかしいらしくマクロ展開でエラーがでるので,エラーが出た場合はこれをエディタで開いて,UTF-8(BOM付き)で保存し直す.

4. QuickTime SDK\CIncludes\GNUCompatibility\stdint.h と build-vc100\packages\include\boost\cstdi​nt.hpp がコンフリクトを起こした場合は,どちらかのファイルを書き換える.以下に QuickTime SDK の 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

 

No Comments

Trackbacks/Pingbacks

  1. ビューアをビルドしてみた | 知世 - [...] いそうです(リンデンのほうは参考にしませんでした) メタバース技術研…
登録 ログイン