[UE4] "コードファイル D:¥Build¥++UE4+Licensee¥xxx が見つかりません" の解消方法
UE4をデバッグしようとして、デバッグシンボルを有効にしたり、ソースコードを入手しても、実際にC++ Symbolsを表示させようにも上記エラーで解決できないことがある。
1. まずエラーで表示されているパスを確認
表示されるのが一瞬なので、スクリーンショットを撮るのがおすすめ。
4.25.4 が最新の2020年11月現在では、表示されるパスは D:¥Build¥++UE4+Licensee¥Sync
や D:¥Build¥++UE4¥Sync
など、
- なぜか必ず Dドライブ を示していて
- ++UE4 とか Sync とかの文字列が入っている
のが特徴。このパスは、Epic Gamesが配布版のUE4をビルドしたときに指していたパスと言われていて、配布版のバイナリの場合は変更することはできないらしい。
自分でビルドしたUE4であればそもそも上記エラーは出ないのだが、以下で示す解決法は、自分でUE4をビルドすることなく、指しているパスを再現することで解決する方法。
2. Dドライブを物理的 or 仮想的に準備
既にDドライブが存在する人は飛ばして次へ。
ない人は物理的に準備するか、以下の方法で仮想的に作る。
- エクスプローラーでCドライブ直下に
VirtualDDrive
というフォルダを作り - コマンドプロンプトを管理者権限 なしで 開き
-
subst D: C:¥VirtualDDrive
を実行
こうすると、仮想的にDドライブができ、Cドライブ直下に作った VirtualDDrive
というパスを指すようになる。
ただしsubstコマンドの効果は再起動すると消えてしまうので、上記内容のbatファイルを作ってスタートアップフォルダに入れておくと解決する。詳しくは別のQiita記事などを参照。
3. Syncまでのフォルダを作成
次に先程準備したDドライブに、Syncフォルダまでのフォルダをエクスプローラーで作成する。パスは控えておいたエラーメッセージの通りにする。
例えば D:¥Build¥++UE4+Licensee¥Sync
と表示された場合は、DドライブにBuild
、その中に++UE4+Licensee
フォルダを作る。
ただしSyncフォルダ自体は次の作業でリンクを作るので、作らないでOK。
4. SyncフォルダとUE4のソースコードをリンクさせる
コマンドプロンプトを開いてジャンクション (またはシンボリックリンク) を作成する。
例えばエラーメッセージに D:¥Build¥++UE4+Licensee¥Sync
と出ていて、UE4のソースコードが C:¥UE_4.25
にある場合は、
mklink /J D:¥Build¥++UE4+Licensee¥Sync C:¥UE_4.25
をコマンドプロンプトで実行する。(管理者権限が必要な場合がある。)
これで、擬似的にエラーメッセージに出ていたパスが再現されるので、改めて実行するとエラーは起きない。
もちろん、ジャンクションやシンボリックリンクでなくても、物理的にそのフォルダにソースコードを移動させてもOK。
補足: 何かと便利なシンボリックリンク
ちなみにジャンクションやシンボリックリンクを作る方法はいろいろと便利で、Visual Studio内でUE4のパスが上手く参照されないときの暫定的な解決法にもなるし、容量が大きいフォルダを別のドライブに移してシンボリックリンクで元の場所にあるかのように振る舞わせたりすることができる。
ただし、ジャンクションやシンボリックリンクを削除するときは、うっかり元のフォルダの中身が消えてしまわないように細心の注意が必要(unlinkやrmdirなどを使って消す)。
Author And Source
この問題について([UE4] "コードファイル D:¥Build¥++UE4+Licensee¥xxx が見つかりません" の解消方法), 我々は、より多くの情報をここで見つけました https://qiita.com/funatsufumiya/items/482c6e997ccf2e7b33b1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .