2

システムにはターゲット OS のライブラリが必要なため、Free Pascal を使用してクロスコンパイルを構成することは可能ですが、簡単ではないことがわかりました。

ただし、プロジェクトをコンパイルできることを確認するために簡単な構文チェックが必要なだけで、実行可能ファイルをリンクする必要はありません。

では、Free Pascal でクロスプラットフォーム テスト コンパイル(のみ)を行うために使用できるコンパイラ オプションはありますか?

私の場合、プロジェクトをソース管理にチェックインする前に、コンパイラが Linux または OSX ターゲット用にコンパイルできるかどうかを Windows ワークステーションで確認したいと思います。

4

2 に答える 2

1

(問題の原因は FPC ではなく、cctools のバージョンが利用可能だった初期 (ppc) OS X の時代とは対照的に、Apple は binutils のソースをリリースしなくなったことに注意してください)

はい、可能です。基本的には、アセンブラーに (クロス) コンパイルし、アセンブルしてターゲットにリンクしようとします。

確認するコマンドライン パラメータは次のとおりです。

  • -a アセンブラファイルを削除しない
  • -外部アセンブラを選択するAas
  • -s リンクを延期する

リンカ コマンドラインは ppas.bat/sh ファイルに書き込まれます。

生成されたすべての .s アセンブラー ファイルと link.res リンカー スクリプトと ppas.sh を宛先システムに転送し、ppas.sh を実行します。

理論的にはアセンブラとコンパイルが必要ですが、実際には link.res と ppas.sh を調整して適切な検索パスを追加する必要があるかもしれません。新しいターゲットへの初期の移植の多くは、この方法で行われました (最初の移植は、コンパイラで適切なターゲットを追加する前に行われたため)。

于 2012-10-26T18:19:38.667 に答える
1

私の知る限り、クロスコンパイラを使用してアプリケーションをコンパイルおよびリンクすることが、プロジェクトを真にチェックする唯一の方法です。これが現在の主要な IDE の動作です (バックグラウンド コンパイル)。

必要な CPU/OS ターゲット用のクロスコンパイラをホスト マシンにインストールするだけです。

http://wiki.freepascal.org/Cross_compiling#Host_and_target_on_different_CPUs

于 2012-10-26T06:02:50.677 に答える