1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Windows 10 on ARM 用 7-zip (19.00) を Windows 10 on ARM 上の Visual Studio 2019 (x86) でビルドする

Last updated at Posted at 2020-08-01

はじめに

前回初投稿の「Windows 10 on ARM 用 アプリ を Windows 10 on ARM 上の Visual Studio 2019 (x86) でビルドする」に続きまして、今回は実際に使用するレベルのアプリ・ツールをビルドしました。

さて、Windows において何をさておいても入れておきたいツールといえばなんでしょう?
そう、皆さん大好き「 7-zip 」です!(※個人の感想です。効果には個人差がありありです)

ですが残念なことに現時点では ARM64 版は配布されておりません…

x86 版で我慢すればいいじゃないという声も聞こえてきそうですが、実は WoA の弱点で、シェルエクステンションなんかはネイティブの .dll でないと呼び出しができないのです。
シェルエクステンションの使えない 7-zip なんてク◯ープを入れないコーヒーみたいなもの(歳バレ)なので、なんとかビルドできないものかと Web で情報を漁ったり試行錯誤した結果、どうにかビルドが通りましたのでここに投稿した次第です。

ビルド

もちろん Visual Studio 2019 (x86) がセットアップ済なのは前提ですね。

まずは、こちらから 7-Zip のソースコードをダウンロードします。
https://sevenzip.osdn.jp/download.html

作業場所へ解凍し、.\CPP\7zip へ移動します。

※ ソースは .7z 形式なのでとりあえず x86 版の 7-zip を使用して展開します。

コマンド ウィンドウを立ち上げます。

※ Explorer で目的のフォルダを表示して Shift + 右クリックコマンド ウィンドウをここで開く が楽ですかね?

Visual Studio 2019 のインストール先がデフォルトならば

"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" x86_arm64

と、打ち込んで実行させて、ARM64 用のツールセット環境を準備します。

なお、vcvarsall.bat の詳しい使用方法は以下のドキュメントが参考になると思います。

コマンド ラインから Microsoft C++ ツールセットを使用する

あとは、

nmake

と、打ち込んで実行させれば、時間はかかりますが大きなエラーもなく無事ビルドされました。

インストール

きちんと調べればインストールスクリプトなんかもありそうですが、今回は手抜きをして出来上がった .exe や .dll 等をとりあえず手動で集めました。(;^_^A

ファイルの場所は各モジュールフォルダ下の arm64 フォルダにあります。

※ x64 版のファイル構成を参考に
Langフォルダ以下 → x64 版からコピペ
readme.txt → x64 版からコピペ
License.txt → x64 版からコピペ
History.txt → x64 版からコピペ
7-zip.chm → x64 版からコピペ
7-zip32.dll → x64 版からコピペ
7zFM.exe.\CPP\7zip\Bundles\Fm\arm64 からコピペ
7z.dll.\CPP\7zip\Bundles\Format7zF\arm64 からコピペ
7z.sfx.\CPP\7zip\Bundles\SFXWin\arm64 からコピペ
7zCon.sfx.\CPP\7zip\Bundles\SFXCon\arm64 からコピペ
7z.exe.\CPP\7zip\UI\Console\arm64 からコピペ
7zG.exe.\CPP\7zip\UI\GUI\arm64 からコピペ
7-zip.dll.\CPP\7zip\UI\Explorer\arm64 からコピペ

動作確認

一応、今自分が使用している範囲では ARM64 版 7-zip に不具合は出ていません。

オプション等の設定も、7zFM.exe 管理者として実行 で立ち上げれば、シェルコンテキストメニュー の設定も大丈夫でした。

とはいえ、フルに検証ができているわけではないので、早く公式から ARM64 版が配布されるようになるといいですね。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?