D言語環境構築 2019年版
はじめに
去年のアドベントカレンダーの記事に引き続き、今年も人生最良の行動(D言語インストール)についてまとめます。
Linux
インストールスクリプト
Linux環境では、やはりインストールスクリプトを使用するのが簡単です。
インストールスクリプトにより、DMD・LDC・GDCの3種類のコンパイラがインストール可能です。
$ curl https://dlang.org/install.sh | bash -s
実行後、ホームディレクトリにdlang
ディレクトリが作られ、その中にdmd
が格納されます。
$ ls ~/dlang
d-keyring.gpg dmd-2.089.0 install.sh
source
で実行パス等を通すことでdmd
を使用できます。
$ source ~/dlang/dmd-2.089.0/activate
(dmd-2.089.0) $ dmd --version
DMD64 D Compiler v2.089.0
Copyright (C) 1999-2019 by The D Language Foundation, All Rights Reserved written by Walter Bright
同じスクリプトでLDC・GDCもインストールできます。2つ目以降はダウンロード済みのinstall.sh
を使用できます。
$ ~/dlang/install.sh ldc
# (中略)
$ source ~/dlang/ldc-1.18.0/activate
(ldc-1.18.0) $ ldc2 --version
LDC - the LLVM D compiler (1.18.0):
based on DMD v2.088.1 and LLVM 9.0.0
built with LDC - the LLVM D compiler (1.18.0)
Default target: x86_64-unknown-linux-gnu
Host CPU: broadwell
http://dlang.org - http://wiki.dlang.org/LDC
# (後略)
$ ~/dlang/install.sh gdc
(中略)
$ source ~/dlang/gdc-4.8.5/activate
(gdc-4.8.5) $ gdc --version
gdc (gdcproject.org 20161225-v2.068.2_gcc4.8) 4.8.5
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
activate
で設定した環境変数は、deactivate
で解除されます。
$ source ~/dlang/dmd-2.089.0/activate
(dmd-2.089.0) $ deactivate
$ source ~/dlang/ldc-1.18.0/activate
(ldc-1.18.0) $ deactivate
$ source ~/dlang/gdc-4.8.5/activate
(gdc-4.8.5) $ deactivate
その他の方法
その他のパッケージマネージャー・バイナリなども、各ディストリビューション向けに用意されています。
詳しくは下記のページの下の方に書いてあります。
Mac
Macも同様にinstall.sh
が使用できます。
また、dmgファイルやHomebrewのパッケージも用意されています。
Windows
さて、64bit対応で毎回鬼門になるWindowsです。今回はどうでしょうか……。
公式サイトからダウンロード
D言語公式サイトからおもむろにdmdのインストーラーをダウンロードし、とりあえずインストールしてみます。
今回は @mono_shoo さんに「Windowsサンドボックス」という機能を教えてもらいました!
Windowsまったく分からん勢なので知らなかった……。今回大活躍です。(伏線)
(親の顔より見た公式サイト https://dlang.org/)
インストーラーを起動します。ごく普通のWindows向けのインストーラーです。
インストールオプションの選択です。なんか古いdmc
というC言語コンパイラやVisualD
(VisualStudio拡張)もインストールできますが、いったん無視してデフォルトのままインストールします。
インストール先も適当にデフォルトのままにします。
次の選択肢が割と大事です。
D言語は通常、C言語のランタイムライブラリを使用するようにコンパイルされます。
(それを回避する方法もありますが、普通じゃないです)
そのため、各種プラットフォームのC言語のランタイムライブラリが必要になります。
Linuxではふつうにglibcなどがありますが、Windowsでは、Visual Studio C++のランタイムライブラリ、およびそれをリンクできるリンカーを使用します。
ここでは、そのためのランタイムライブラリおよびリンカーなどを選択することになります。
これからD言語使おうというときにいきなりVisual Studio 2017入れたりするのは本末転倒なので、ここでは64bitの実行ファイルが作れる一番小さい構成でインストールを行います。
上から4つ目の「Install VC2010 redistributables to use it with MinGW Plaftorm libraries」というのが、その最小構成になります。
こちらであれば、VC2010の再配布可能パッケージ(10MBくらい)と、MinGWのライブラリ、およびlld-linker
というLLVMのものらしきリンカーのみのインストールで済みます。
途中VC2010再配布パッケージのインストールを挟みつつ、インストールが完了しました!
これでdmdのコマンドラインツールが使用できるようになっています。早速PowerShellからでも使ってみましょう!
適当なディレクトリを作り、パッケージマネージャであるdubを使ってプロジェクトを作ってみます。
以下のようにコマンドを叩くと、Hello,World!が自動で作成されます。
綺麗だろ。動かないんだぜ、これ。
(dub run
コマンドで生成されたプログラムが実行できるはずなのですが……)
なぜじゃ~!!
ちなみに直接Explorerから叩くとこんなエラーになります。
「msvcr100.dll が見つからないため、コードの実行を続行できません。プログラムを
再インストールすると、この問題が解決する可能性があります。」
必要なDLLが足りない、つまりランタイムライブラリのインストールが足りないという問題です……。
え!インストーラーでインストールしたじゃん!!と思ってスクショをたどってみると……。
いっぽう、ビルドした実行ファイルは……
つまり、デフォルトでx86_64でビルドされるけど、そのためのランタイムライブラリがインストーラーでインストールされない!
そこで、VC2010のx64向けランタイムライブラリをインストールすると、解決します。
(こちらが最新? なお、VC2010でないと必要なDLLが入っていなかったりします……。VC2015・2017などではダメ疑惑あり)
https://www.microsoft.com/ja-jp/download/confirmation.aspx?id=26999
とにかく上記リンクのパッケージをインストールすると解決します。
こちらの問題はすでにBugzillaに上がっていました……。なんか結構議論されている雰囲気。
https://issues.dlang.org/show_bug.cgi?id=20061
https://issues.dlang.org/show_bug.cgi?id=19760
去年に比べて64bit対応が進んでいますが、ランタイムライブラリはまだちょっとDLL Hellでしたね。
あとはVSCodeとcode-dでコーディングするなり、私のようにメモリ4GBのMacbook Airで素のvimで頑張るなり、好きなようにD言語のコーディングを楽しめます!
ライセンス
この 作品 は クリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。
Author And Source
この問題について(D言語環境構築 2019年版), 我々は、より多くの情報をここで見つけました https://qiita.com/outlandkarasu@github/items/faa555d5c1d1d19a8fa4著者帰属:元の著者の情報は、元の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 .