はい、またやってました、クロスコンパイル。ってかこれ今やるべきことじゃないんだけど、FreePascalのメーリングリストで同じように悩みを持っている人がいて、それ見たらなんかやってた(笑)。
今回は64bitのLinuxがターゲット。過去の失敗経験をもとにCygwinでBinutilsのコンパイルからやってみたら、なんとかうまく行ったので手順を書き記しておく。
mkdir -p /usr/local/src/ cd /usr/local/src/
wget ftp://ftp.gnu.org/gnu/binutils/binutils-2.20.1.tar.gz tar xvzf binutils-2.20.1.tar.gz cd binutils-2.20.1
./configure --target=x86_64-linux
make clean make all make install
エラーが起こるとすればconfigureとmakeなので、エラー内容をよく見て必要なパッケージやライブラリを入れていけばいずれはコンパイルできるようになると思われる。
コンパイラをコンパイルするんです。(じゃぁそのコンパイラは何でコンパイルされたんでしょう。コンパイラ?じゃぁそのコンパイラは...なんてね)
make clean make OS_TARGET=linux CPU_TARGET=x86_64 all make OS_TARGET=linux CPU_TARGET=x86_64 \ INSTALL_PREFIX=[Lazarus Dir]\fpc\[FPC Ver] install
これでWindowsで作成したHello Worldが64bit CentOSで動くようになった! 今回のステップを踏めば別のプラットフォーム向けもできそうだね。
あ、ちなみにLCL(Lazarus Component Library)のクロスコンパイルは試してません。とりあえず今のところ使ってないから、なくていっかな。過去の経験より手をつけるとはまるので。
タグ : 64bit,Binutils,Cygwin,FreePascal,Linux
2010/11/04 06:20:21 | Trackbacks (0) | Comments (0) | Technology
URL : https://www.ana-kutsu.com/mt/mt-tb.cgi/567