SimpleROHook トラブルシューティング集(随時追記)
SimpleROHook トラブルシューティング
SimpleROHook のビルドに関して報告や、質問を受けたトラブルに関して随時書いていきます。
ビルドしたという方が指折るほどすらも居ないので、どこまで内容が拡充されるかが微妙ではありますが、流石に質問の放置は出来ませんので始めていきます。では続きをどうぞ、
ビルド構成に関する注意
RO本体がデバッグ仕様でビルドされていないので、SimpleROHookをDebug構成でビルドするとSTLのコンテナの違いから正しく動作しません。ビルドはRelease構成で行ってください。
error LINK1123の対処方法
ビルド時に以下のエラーが出る方はVisual Studio 2010 SP1 の更新が当たっていない可能性があります。
LINK : fatal error LNK1123: COFF への変換中に障害が発生しました。
Windows Update 等から入手してインストールして下さい。
Download Microsoft Visual Studio 2010 Service Pack 1 (インストーラー) from Official Microsoft Download Center
http://www.microsoft.com/ja-jp/download/details.aspx?id=23691
DirectX SDK Aug 2007の不具合修正
近年の開発環境と、このバージョンのSDKをセットで使うとコンパイル時に以下の様なエラーが出てしまいます。
これはDirectX SDK Aug 2007のIncludeディレクトリにあるrpcsal.hというファイルが古いために起こるので、これをリネームして、新しいファイルを優先して参照させることで解決させます。
次の例ではファイル名の先頭にアンダースコアを付ける事で解決しています。ソート時に先頭に来ることから、筆者はこの手をよく使います。
d3d.h No such file
画像の様なエラーが出るという報告を頂きました。ビルドガイドに出てくるDirectX SDKのインストールがうまく行っていないために起こります。Windowsの環境設定に不慣れな人は、環境変数の設定でミスが起こりがちなので注意しましょう。
環境変数に関する注意点
- システム環境変数を設定する際、新規に作成した変数が有効にならない場合は、一度Windowsからサインアウトして、サインインしなおしてから作業をしましょう。既に設定されている環境変数の名前を変更する分にはこの問題は起こらないようです。
- Visual Studioの環境変数は、Visual Studio起動時にシステムの環境変数を参照して生成されます。システムの環境変数とは同期していないので注意しましょう。Visual Studio起動中にシステム環境変数を変更した場合はVisual Studioを再起動させましょう。
ビルドガイドに記述されている通り、以下のように環境変数を変更するだけでコンパイルが通るようになります。
環境変数がきちんと設定されているかどうかは、コマンドプロンプトを起動してsetコマンドを実行する事で確認が出来ます。設定が反映されていないようであればWindowsにサインインしなおしてみるのもいいかも知れません。
ディスカッション
コメント一覧
エラー 1 error LNK1123: COFF への変換中に障害が発生しました: ファイルが無効であるか、または壊れています。 C:\Users\***\Source\Repos\SimpleROHook\Injection\LINK Injection
とエラーが出るのですが何が原因なんでしょうか
もう一方同じ現象が起きている方が居るようですが、こちらでは再現が出来ていません。
どのバージョンのVisual Studioを使用しているのかも書いてもらわないときちんとした解凍は出来ませんが
個人の環境に依存する問題かと思われます。
下記のサイトが参考にならないでしょうか?
VS2010でLNK1123エラーが出たら、SP1にしてみよう – minus9d’s diary
http://minus9d.hatenablog.com/entry/20121212/1355312498
無事ビルドできるようになりました。ありがとうございました。