Visual Studio 2008がインストールされていない場合、プログラムが実行されないのはなぜですか?
-
20-08-2019 - |
質問
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がターゲットマシンにインストールされていることを確認します。それは私のために働いています。
デバッグライブラリに依存していますか?