・hlプロジェクト設定の修正
hlプロジェクトの変換後の設定ではビルドができません。
ソリューションエクスプローラからhlプロジェクトを右クリックしてプロパティを選び、
プロパティページを開きます。そして以下の例(リリース)のように設定を変更してください。
・構成プロパティ−>C/C++−>コード生成
[ランタイムライブラリ]で[]を選ぶ
・構成プロパティ−>C/C++−>言語
[wchar_t をビルトイン型として扱う][for ループスコープの強制準拠]共に「いいえ」へ変更
・構成プロパティ−>C/C++−>コマンドライン
[追加のオプション]内に以下の記述を追加
/D "_CRT_SECURE_NO_DEPRECATE" /D "_CRT_NON_CONFORMING_SWPRINTFS" /D "_CRT_NONSTDC_NO_DEPRECATE" /D "_CRTIMP=" /D "_CONST_RETURN="
|
・構成プロパティ−>リンカ−>入力
[追加の依存ファイル]で既存のwinmm.libに続けて
User32.libを追記
・構成プロパティ−>リンカ−>コマンドライン
[追加のオプション]内に以下の記述を追加
|
・hlプロジェクトを手直し
ソリューションエクスプローラからhlプロジェクトを右クリックしてビルドを選ぶと、
とりあえずコンパイルエラーが出ると思います。
以下はリリースでビルドする際のコード修正例です。デバッグでビルドする際も似たような感じ。
第二章でclient.dll周りのコード修正をせずにいきなりこっちをビルドすると当然もっとエラーが出るでしょうね。
エラーだけ直して警告は放置しちゃってます。アタイはワルだからね。
.\hl2_dll\npc_BaseZombie.cpp(160) : error C4430: 型指定子がありません - int と仮定しました。メモ: C++ は int を既定値としてサポートしていません
|
160行目に以下の赤い部分の記述を挿入。
|
static int s_iAngryZombies = 0;
|
.\TemplateEntities.cpp(298) : error C2668: 'pow' : オーバーロード関数の呼び出しを解決することができません。(新機能 ; ヘルプを参照)
|
298行目に以下の赤い部分の部分の記述を挿入。
|
int iMax = pow(10.0f, (signed)(strlen(ENTITYIO_FIXUP_STRING)-1)); // -1 for the &
|
.\baseentity.cpp(2317) : error C3861: 'tolower': 識別子が見つかりませんでした
.\baseentity.cpp(2317) : error C3861: 'tolower': 識別子が見つかりませんでした
|
58行目(#include "vphysics/friction.h" の次)に以下の行を挿入。
|
#include <ctype.h>
|
|
・server.dllビルド完了
ハイ、できたアルよ。
========== ビルド: 1 正常終了、0 失敗、0 更新、0 スキップ ==========
|
|