2017-08-17 7 views
-2

C++を使用してクロスプラットフォーム実行可能ファイルをコンパイルするにはどうすればよいですか?C++を使用してクロスプラットフォーム実行可能ファイルをコンパイルする方法

私はcpackまたはドッカーを使用する必要がありますか?

ライブラリやハードウェアには多くの依存関係があるようです。

たとえば、私は自分のコンピュータで実行可能ファイルをコンパイルし、別のコンピュータで実行したいとします。私はexecをopencvにリンクし、ちょっとしたプログラミングをしました。私はWindowsまたはMacで私のプログラムをexecしたいかもしれません。

ターゲットコンピュータの計算能力が異なる場合があります。

これを達成する方法は?

+0

クロスコンパイルは、通常、ビルドユーティリティではなくコンパイラによって異なります。たとえば、私たちはIARコンパイラを使用してARM9プラットフォーム(組み込みシステム)用のコードを開発しています。 GNUコンパイラシリーズには、他のプラットフォーム用のコードを生成できるコンパイラがあります。 Windowsと組み込みシステム用にコンパイルされた共通のソースコードもあります。 –

+0

別のコンピュータに配布するのは難しいですか? – mxmxlwlw

+0

"ハード"の定義によります。私の店では、IDEを使用してビルドし、JTAGデバッガを使用して組み込みシステムにアップロードします。難しくない。 MacやLinuxマシンを持ち、そのマシンを構築するショップもあります。再び、難しいことではありません。 GNUコンパイラで別のターゲットプラットフォームを指定してビルドするオプションを使用する人もいます。難しくない。 –

答えて

1

C++ ソースコードは、クロスプラットフォームであることができるが、コンパイルされたバイナリは特定非常プラットフォームです。 Mac、Linux、Windows上でプログラムを実行するには、異なるプラットフォームごとに3回ずつコンパイルし、3つの異なる実行可能ファイルを配布する必要があります(プログラムが依存するすべてのライブラリで同じです)。

+0

これはライブラリ(特に* nixファミリ)ではなくソースコードを配布するための基礎です。 –

+0

別のコンピュータに配布するのは難しいですか? – mxmxlwlw

+0

* hard *の定義と配布方法によります。 –

関連する問題