0Pricing
Zig Academy · レッスン

Linux、macOS、Windows向けのビルド

1つのツールチェーンで多くのプラットフォームに対応します

「Linux、macOS、Windows向けのビルド」はCoddyKit上の無料Zig Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはZig Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Zig Academyコースには全4レッスンが含まれています。

1つのツールチェーンで多くのプラットフォームに対応

1台のマシンから、主要なOS向けのバイナリをすべて生成できます。Zigはクロスビルドを後付けではなく、第一級の機能として扱います。

Linux向けにビルドする

トリプルを指定してLinuxをターゲットにします。musl ABIを使うと、どのホストからでもクリーンで移植性の高いLinux実行ファイルを生成できます。

zig build-exe main.zig -target x86_64-linux-musl

macOS向けにビルドする

macos OSフィールドを指定してApple Siliconをターゲットにします。出力されるのは、arm64 Macで実行できる実際のMach-Oバイナリです。

zig build-exe main.zig -target aarch64-macos

Windows向けにビルドする

Windowsをターゲットにすると、Zigは自動的に.exeを出力します。windows OSフィールドによって、適切なオブジェクト形式が自動的に選択されます。

zig build-exe main.zig -target x86_64-windows

同じソース、異なる出力

ターゲットが変わっても、Zigコードは変わりません。変わるのは-targetフラグだけで、残りの処理はコンパイラが行います。

build.zigでターゲットを設定する

プロジェクトでは、代わりにビルドスクリプトからターゲットを読み取ります。standardTargetOptionsによって、zig buildから-targetを指定できるようになります。

const target = b.standardTargetOptions(.{});

実行ファイルにターゲットを関連付ける

解決済みのターゲットを実行ファイルに渡し、ビルドグラフ全体で、どのプラットフォーム向けに生成するのかを把握できるようにします。

const exe = b.addExecutable(.{ .name = "app", .target = target });

コマンドラインで上書きする

standardTargetOptionsを設定すると、ユーザーはzig buildに-Dtargetを渡せます。コードを編集せずに、任意のプラットフォームを選択できます。

zig build -Dtarget=x86_64-windows

外部SDKは不要

Zigには各OS用のヘッダーとスタートファイルが含まれているため、Windows SDKやmacOSのツールチェーンを別途インストールする必要はありません。

各ビルドをテストする

1台のホストですべてのターゲットをコンパイルし、それぞれのバイナリを対応するマシンにコピーして、期待どおりに実行できることを確認できます。

3つすべてを一度にビルドする

クロスビルドを使うと、リリーススクリプトが簡単になります。3つのトリプルをループで処理するだけで、Linux、macOS、Windowsのバイナリを一度に生成できます。

クイックチェック

Zigプロジェクトのビルドで、プラットフォームをどのように選択するか考えてみましょう。

まとめ

追加のSDKを使わず、1台のホストから-targetまたは-DtargetでLinux、macOS、Windowsのバイナリをビルドする方法を学びました。🛠️

よくある質問

「Linux、macOS、Windows向けのビルド」レッスンは無料ですか?

はい。「Linux、macOS、Windows向けのビルド」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Zig Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Zig Academyコースには全4レッスンが含まれています。

「Linux、macOS、Windows向けのビルド」で何を学びますか?

1つのツールチェーンで多くのプラットフォームに対応します ブラウザで直接実行するハンズオンコードでZig Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Zig Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのZig Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。

「Linux、macOS、Windows向けのビルド」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このZig Academyレッスンでコードを書いて実行できますか?

はい。すべてのZig Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. ターゲットと-targetトリプル
  2. Linux、macOS、Windows向けのビルド
  3. zig ccによるCのクロスコンパイル
  4. 静的バイナリとmusl
← Zig Academyに戻る