Visual Studio 2008がインストールされていない場合、プログラムが実行されないのはなぜですか?

StackOverflow https://stackoverflow.com/questions/349004

質問

GLUT、OpenGL、FMODを使用するゲームを作成しました。問題は、コンピューターにVisual Studio 2008がインストールされていない限り、バイナリが実行されないことです。

これはなぜですか?

役に立ちましたか?

解決

C / C ++ランタイムのDLLバージョンとリンクしている可能性が高いです。プロジェクトのプロパティに移動-<!> gt; C ++-<!> gt;コード生成、ランタイムライブラリを<!> quot; DLL <!> quot;の1つではない に設定します。種類。

別の方法として、DLLランタイムにリンクできますが、アプリケーションと一緒にランタイムを再配布する必要があります。

MSDNには、C ++アプリケーションの展開のさまざまな側面に関する詳細情報があります。 http:// msdn.microsoft.com/en-us/library/zebw5zk9.aspx

また、 Dependency Walker(depends.exe)は、実行可能ファイルが依存しているライブラリを表示します。 Visual Studioの一部のバージョンにも同梱されています。

他のヒント

つまり、 Microsoft Visual C ++ 2008再頒布可能パッケージ(x86)が必要ですか?

  

このパッケージはランタイムをインストールします   Cランタイム(CRT)のコンポーネント、   標準C ++、ATL、MFC、OpenMPおよび   MSDIAライブラリ。図書館の場合   並列展開モデルをサポート   (CRT、SCL、ATL、MFC、OpenMP)彼らは   ネイティブアセンブリにインストール   WinSxSフォルダーとも呼ばれるキャッシュ   Windowsオペレーティングシステムのバージョン   サイドバイサイドアセンブリをサポートします。

デフォルトではすべてのWindows、特にVS 2008より前に出荷されたWindowsにインストールされないため。

でも

cout << "Hello, World" << endl;

ライブラリが必要です。この場合、標準C ++ライブラリです。

素晴らしいアプリケーションデプロイの世界へようこそ。

実行可能ファイルに依存するツールを実行すると、EXEとともにコピーする必要があるDLLがわかります。

このプログラムは、それが存在するコンピューター上で欠落しているdll(存在する場合)を見つけるのに役立ちます。実行されません

デフォルトでは、CランタイムとC ++標準ライブラリdllのリリースバージョンのみがWindowsと共にインストールされます。 Visual Studioをインストールすると、デバッグバージョンも追加でインストールされます。

展開するバージョンが完全にリリースモードでビルドされていることを確認します。

リリースモードでコンパイルを試行し、必要なすべてのDLLがターゲットマシンにインストールされていることを確認します。それは私のために働いています。

デバッグライブラリに依存していますか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top