Windows上でLinuxのバイナリ作るのはかなり面倒ですね。クロスコンパイラ作ったり、ライブラリをLinuxからコピーしてきたりなど。
WSL (Windows Subsystem for Linux)経由でコンパイルすると意外とスピーディーに簡単にクロスコンパイルの環境ができたのでメモしておきます。
今回使用したのは
- Windows 10
- WLinux Enterprise
です。
-
まず WLinux をインストールします (これはウェブ上にいっぱい情報があるので良いでしょう)
-
ここから先はWSLで作業
-
ターミナルを起動したらウィザードに従ってLinuxをセットアップ
-
yum update とかしてとりあえず最新に
-
FPCのインストールに libgcc が必要なようなのでインストール
# yum install libgcc
- free pascalのサイトからRPMをダウンロード・インストール
# rpm -ivh https://sourceforge.net/projects/freepascal/files/Linux/3.0.4/fpc-3.0.4-1.x86_64.rpm
- インストールできたかチェック
$ fpc -h
Free Pascal Compiler version 3.0.4 [2017/10/02] for x86_64
- ここから先はWindowsで作業
- Lazarusプロジェクトのあるディレクトリへ移動
- 下記の内容でバッチファイルを作成
fpc.bat
set str=%*
set str=%str:\=/%
set str=%str:C:/=/mnt/c/%
set str=%str:D:/=/mnt/d/%
C:\Users\AnaKutsu\AppData\Local\Microsoft\WindowsApps\wle.exe run cd /mnt/d/Users/AnaKutsu/Documents/path/to/your/project/; fpc %str%
※ フォルダ名やドライブレターは環境に合わせてください
- ここから先はLazarusで作業
- プロジェクトオプションでコンパイラコマンドタブのコンパイラのパスを上記で作成したbatファイルに変更
これでLazarusのIDEからWSLのFPCでコンパイルできるんじゃなかろうか!
※ ちなみにLCLは試してみません。コンソールアプリケーションとシェアドオブジェクトは作成できました。