2016-04-27 27 views
0

私はC++でこの単純なmulithreaded winsock tcpベースのマルチユーザチャットを構築しました。C++ - 実行可能ファイルの転送

私は個人的に32ビットのWindows 7バージョンを実行していますが、チャットは正常に動作しています。今はLAN上のさまざまなコンピュータ間でテストしたいのですが、例のためにclient.exeファイルを別のコンピュータ、64ビットを実行するWindows 7。

はので、私はそうする前に、いくつかの質問を持っている:

  1. まず、両方のこれらの.exeファイルを転送し、右の異なるコンピュータ上でそれらを実行するために問題になることはありません実行するx86アーキテクチャを計算仮定しますか?
  2. 他のコンピュータでclient.exeファイルを実行しようとすると、「MSVCR120.dll」というdllエラーメッセージが表示され、dllが見つかりませんでした。これは実際にはコンピュータがアーキテクチャに対応していても意味がありますが、異なるdllを持つ可能性があります。私の質問は、私のC++ Client.exeファイルのソースコード内にあれば、私はMSVCR120.dllをロードし、それを私のClient.exeファイルのフォルダに含めるでしょう、それは私の問題を解決するでしょうか?
+0

***欠落している "MSVCR120.dll" dllエラーメッセージが表示されました***これらのコンピュータにVisual Studio 2013再配布可能ファイルをインストールする必要があります。 – drescherjm

+0

これは、私がやりたいこととまったく逆です。自分のプログラムを実装しているコンピュータは、Visual Studio 2013をインストールしなくてもいいので、そのDLLをロードしたいと思っています。@drescherjm – DrPrItay

+1

あなたはビジュアルスタジオ2013。ランタイムだけ。答えはあなたがインストールする必要があるファイルを指摘します。 – drescherjm

答えて

2

あなたは2つのオプションがあります。あなたのためのインストールパッケージを作成するには

  1. をVC++ 再配布可能ファイルを含むexe。
  2. as a static libraryにコンパイルされたVC++ランタイムでexeをコンパイルするには

インストールパッケージは必要ありません。ターゲットマシンにexeをコピーしてそこから実行するだけです。

+0

おかげさまで、私はさまざまなプロセッサアーキテクチャをどのように克服できますか? @ c-smile – DrPrItay

+1

各アーキテクチャごとに異なるバージョンをコンパイルします。 32ビットx86はx64では問題なく動作しますが。 – drescherjm

+0

x86とx64について話していない、riscとmips vs x86について話している@drescherjm – DrPrItay

0

あなたは、Visual Studioであなたのプログラムを構築している場合は、Microsoftのredistribuablesをインストールする必要があります。https://support.microsoft.com/en-us/kb/2977003

よろしく

+0

私の質問に具体的にお答えください。プログラムは私のコンピュータ上で正常に動作します。自分のコンピュータに特別なツールをダウンロードすることなく、他のコンピュータ上で実行したいのですが、自分のコードの中からdllを自分のコンピュータに読み込む@Eric T. – DrPrItay

+0

Visual Studio 2013それを必要とするマシンにインストールしてください。 https://www.microsoft.com/en-us/download/details.aspx?id=40784プログラムが32ビットだと言ったので、6.2 MBのvcredist_x86.exeファイルが必要です。 – drescherjm

+0

あなたはプログラムを実行するDLLに依存しています。あなたのプログラムにすべての機能があるわけではありません。 Visual Studioをインストールすると、開発用PCにインストーラーが必要なすべてのDLLをインストールし、Visual Studioで生成されたプログラムを実行します。 別のPCでプログラムを実行する場合は、少なくともランタイムDLLをインストールする必要があります。 ほとんどのプログラムのインストールには、独自のインストーラに依存するDLLが含まれています。 –