2016-12-03 5 views
-1

すべてのC++ファイルが存在する「feature /」というディレクトリがあります。 2つの異なるマシン(M1とM2)を使用してコンパイルされた2つのバイナリファイル(B1、B2)をフィーチャ/の下にコンパイルすることは可能ですか?すなわち、B1はM1を用いて生成され、B2はM2を用いて生成される。同じディレクトリの下に2組のC++バイナリをコンパイルする

私が達成しようとしているのは、私がM1で作業しているときにB1を読み込んでデバッグできるはずです。同様に、私がM2で作業しているとき、私はB2をロードしてデバッグします。

私が直面している問題は、次のとおりです。 M1はローカルマシンであり、M2はリモートマシンです。 M1とM2は異なる環境を持っています。 私はローカルマシンM1を使用していますが、バグが見つかりました。私は "feature/f1.cc"を編集し、インクリメンタルな再コンパイルを行い、バグは修正されました。次の日、私はM2にログオンします。 "feature/f1.cc"は編集されているので、私は再コンパイルする必要があります。しかし、私はM2上にいるので、M1上でコンパイルされたバイナリはM2上で動作しなくなります。したがって、私はM2上の "feature /"の下のすべてのファイルを最初からコンパイルする必要があります。最初からコンパイルするには1時間かかります。 2つのバイナリセットがある場合は、それぞれのマシンに1つずつ、増分コンパイルを行うことができます。これにはわずか5秒しかかかりません。

+0

「CMake」で生成されたソリューションとソースビルディングから私はこのようにビルドします。共有ソースツリーには、1つのソースと2つ以上のバイナリツリー(設定が異なる、おそらく異なるコンパイラ/ツールチェン)があります。 – drescherjm

+0

バイナリではなくソースコードのみを共有します。 – Galik

+1

[git](https://git-scm.com/)などのバージョン管理システムについて読んでみてください。 – Galik

答えて

0

.objファイルまたは.oファイルの仲介フォルダが異なる場合は機能しますが、最悪の解決方法です。 バージョンコントロールはこの問題をうまく解決し、CIは夜間にコンパイルしてテストを実行することによってお手伝いします....

関連する問題