2 つの異なるプログラム間で、別々にコンパイルせずにモデルを共有するエレガントで実用的な方法を探しています。
同じ顧客向けに 2 つの異なるソフトウェアを開発しています。どちらも同じ機能を異なる方法で共有しています (ボリューム充填の最適化)。しかし、ユーザー インターフェイスは重く、異なるため、明確にするために 2 つの異なるソフトウェアに分割したいと考えています。
しかし、コードを再利用して簡単に保守できるようにするために、コアのようなアーキテクチャと、ソフトごとに 2 つの分離/特殊化されたレイヤーが必要です。
両方のアプリで共有できるように .dll または .so を作成することを考えましたが、私は Linux で開発しており、顧客は Windows を使用しているため、この方法でアプリケーションを移植するのはかなり難しいと思います。(私はWindowsを実行しているコンピューターを所有していないので、遅い移植に行きます)
また、コアとなるコマンドライン プログラムを作成し、ソフトを実行しながらシェル経由で呼び出すことも考えましたが、これは移植可能な方法で行うことは不可能のようです。
これを行うためのシンプルでポータブルな方法はありますか (Python でモジュールをインポートするのと同じように)、C++ では見つけられませんでしたか? そうでない場合は、共有ライブラリを使用するか、コアを含めて両方のソフトをコンパイルするのが最善でしょうか?