RC版ビューア 1.20.11 のビルド (の最後の部分)

march

2008年07月09日 23:00



久々にビューアのコンパイル。
DELLの安鯖で環境構築しつつ。VC++2005 Express Editionです。
・プロジェクトファイルに、無くなったファイルは、ビルドから除外、
必要な関数なのに入ってなくてリンカでこける場合は、ファイルを探して追加。
・lscript_compile とかで、flex/bisonが見つからないと言われたので、
cygwinにbisonとflexを入れる。
今回はcygwinを素直にc:\cygwinに入れたので、環境変数の設定はなし。


・LLViewerJoystick 周りのエラーがとれない。ndof_init_firstという関数は定義されていない。
5月ごろ?にいじっているようなので、
http://www.sljirastats.com/view_bug.php?key=VWR-5297
https://jira.secondlife.com/browse/VWR-6196
を見て、
llviewerjoystick.h

> #define LIB_NDOF (LL_WINDOWS || LL_DARWIN)

> #define LIB_NDOF (LL_DARWIN)
に変更。


> 1>------ ビルド開始: プロジェクト: newview, 構成: ReleaseNoOpt Win32 ------
> 1>リンクしています...
> 1>LIBCMT.lib(wincrt0.obj) : error LNK2019: 未解決の外部シンボル _WinMain@16 が関数 ___tmainCRTStartup で参照されました。
> 1>ReleaseNoOpt/newview_noopt.exe : fatal error LNK1120: 外部参照 1 が未解決です。
> 1>ビルドログは "file://適当なディレクトリ\linden\indra\newview\ReleaseNoOpt\BuildLog.htm" に保存されました。
> 1>newview - エラー 2、警告 0
> ========== ビルド: 0 正常終了、1 失敗、19 更新、0 スキップ ==========

ここでやったこと:
(1)
WinMain関数はあるのにエントリポイントが見つからないのはなんでだろ~と
llappviewerwin32.cpp を見ながら思いつつ、
newviewに、llappviewerwin32.cppを追加。
ビルドしてみるが、変わらず。

(2)
ググって、別なプロジェクトで、なんとかいうライブラリが入ってないので追加汁!と
書いてあるのを見て、
追加したライブラリに同じ名前の関数?が定義されてて、そっちが
先にリンクされたんじゃないかと考える。
「ツール」「オプション」「プロジェクトおよびソリューション」
「VC++ ディレクトリ」「ライブラリ」で、
X:\Program Files\Microsoft DirectX SDK (June 2008)\Lib\x86
をいちばん上に入れていたので、一番下に移動。

同じく、「インクルードファイル」
X:\Program Files\Microsoft DirectX SDK (June 2008)\Include
をいちばん上に入れていたので、一番下に移動。
ビルドが通ったので、いったん休憩。

(3)
起動させるが、起動中にエラーが出る。
tuna さんのBLOGを読んで、同じ場所でこけてるのを確認。
http://tuna0.blogspot.com/2008/06/blog-post_20.html

スタックトレース見たり、変更箇所見たりするが、分からないので断念。
http://svn.secondlife.com/trac/linden/changeset?new=release%2Findra%2Fnewview%2Fllappviewer.cpp@738&old=release%2Findra%2Fnewview%2Fllappviewer.cpp@624


例によって一番苦労したのはマシンの熱で、
風の通りを考えて、部屋の片付け。
いよいよまずそうになったらケースに保冷材をくっつけてしのぐ。
HDDもそうだが、グラフィックボードもなかなかの発熱。
こりゃあRAIDの前に水冷やペルチエなんかの導入も検討しないと。。
とりあえずうちにあるヨーデルのCDをありったけ引っ張り出して再生した。
viewer