私が現在好んでいる C++ 環境は、無料で非常に優れた Microsoft Visual Studio 2005 Express エディションです。リリース .exe ファイルを他の人に送ったことがありますが、満足のいく結果が得られました。しかし最近、満足のいく結果が、私が望んでいるよりも運が良かっただけであるという、気がかりな発見をしました。古い (2001 年製で、きちんと更新されていない) XP ボックスでこれらのプログラムの 1 つを実行しようとしても、「システムは x.exe を実行できません」(または同様の) という不快なメッセージしか表示されませんでした。
グーグルで調べてみると、このツールセットでは、静的リンクを指定しても、単純な hello-world.exe が実際には追加の .dll ファイル (msvcm80.dll など) に依存することが判明しました。非常に精巧なバージョン スキーム システム (マニフェスト ファイルなど) により、.exe は正確な .dll バージョンがなければ実行されません。私はこのようなものを望んでおらず、必要もありません。必要なのは、最低限の Win32 操作のみを実行し、古い Win32 OS で実行できる、昔ながらの自己完結型 .exe だけです。
既存のツールセットで私がやりたいことができるかどうか知っている人はいますか?
ありがとう。
ベストアンサー1
C ランタイムの場合は、プロジェクト設定に移動し、C/C++ を選択してから「コード生成」を選択します。「ランタイム ライブラリ」設定を「マルチスレッド dll」ではなく「マルチスレッド」に変更します。
他のライブラリを使用している場合は、動的にリンクされた CRT を明示的に無視するようにリンカーに指示する必要がある場合があります。