TOP > プログラム関連 > Lua > Luaをソースからビルドする

[English]

◆◆ Luaをソースからビルドする ◆◆
インストールじゃなくてビルドです。

公式サイトではバイナリ版やインストーラーも公開されていますが、 ソースも公開されています。つまり、自分の環境でビルド可能です。

自分があえてビルドして使おうと思った主な理由は以下の3つです。

・公式サイトではDLL版しか見つからなかった。自分は静的ライブラリを使いたかった
・確実に「マルチスレッド(/MT)」でビルドして使いたかった
・ためしにビルドしてみたら、あっさりとビルドできた

1番大きな理由は3番目です。
◆◆ 手順 ◆◆
VC++2010Expressでの手順です。

【手順1:公式サイトからソースをダウンロード】

http://www.lua.org/ftp/

私は 5.1.4 をダウンロードしました。
理由は、ネットで手に入る Lua情報の多くが 5.1系に準拠してたからです(今はどうなのでしょう?)。

ところで配布されているファイルの拡張子が tar.gz ですね。
これは一体何なのかな? わくわく。どきどき。
見慣れない形式かもしれませんが、圧縮ファイルの一種です。がんばって展開してね!


【手順2:プロジェクトを作成する】

愛するVC++2010Expressで、いつものようにプロジェクトを作成します。

コンソールアプリケーション。

次へ。

「アプリケーションの種類は何ですか?」
たぶんね、「スタティックライブラリ」がいいんじゃないかな? どうかな? もじもじ。
プリコンパイル済みヘッダーって何? うーんうーん。



【手順3:ソースをプロジェクトに放り込む】

ダウンロードしたソースを、プロジェクトのフォルダに入れます。

いや、もう、本当に、無造作に放り込む。

拡張子が c のファイルは「ソース」に。

拡張子が h のファイルは「ヘッダー」に。
自分で書いたソースだと思って、気兼ねなく放り込む。
あ、ちがった。
作ってくれた人たちに感謝しながら放り込む。
そうしないと人生がエラーになるよ!


【手順4:「マルチスレッド(/MT)」にする】

プロジェクト > プロパティ >
構成マネージャー > アクティブソリューション構成 > Release > 閉じる >
C/C++ > コード生成 > ランタイムライブラリ > マルチスレッド(/MT)

これは、しなくてもビルドは可能ですが、私はしました。
なぜか?
これをしないと、他の人のマシンで実行できないアプリになってしまうからです。
過去に何度か悲しい思いを味わいました。

デフォルトではどういうわけか「マルチスレッド(/DLL)」になっていて、 他の人のマシンでは実行できないソフトが生成されるようになっているのですね。
どうしてですか? どうしてですか? いじわる!


【手順5:ビルドする】

他にも設定しておきたい項目があったら今のうちに設定しておくといいですね。
何しろインストールじゃなくてビルドなのだから、やりたい放題ですよー。

願いを込めて F7キーをたたけー。

なんか警告いっぱい出てるよ。怖いよ怖いよ。

正常終了! 正常に終了したんだよ! がおー!

Releaseフォルダを見てみると、libファイルがあるよ。やったね!
ところでReleaseフォルダってどこにあるの?
(2つあるよ! どっちが正解かな?)

えっとね、それでね、Debug と Release の両方でビルドしておくといいのかもしれませんね。 どうしてもどちらか1つしかビルドしちゃダメ! って、もしも誰かに泣いて頼まれたら、 仕方ないので、Release だけで我慢すると思うのですけど、 幸いなことに私は誰にも引き止められなかったので、両方でビルドしました。
だから手元に2種類のlibファイルがあります。いいでしょー。えへへ。
◆◆ ダウンロード ◆◆
うちの環境でビルドしたものを置いておきます、

と思ったのですが、自分の環境でビルドするやり方を書いたページなのに、それはないですよね。
設置するのが面倒だっただけですか? いいえ、そんなことはありませんよ?

◆◆ メリット ◆◆
自分でビルドできるということは、改造できるということです。
改造を試みた件についての記事もありますので、 よかったらご覧下さい。