1

Linux などでソース コードを再コンパイルできるような「ポータブル」という意味ではなく、インストールを必要としない Windows 専用のアプリケーションであるため、.exe といくつかの dll-s をフォルダーに入れ、それを別のマシンにコピーすると機能します。

VS 2003 以前ではまったく労力を必要としませんでしたが、2008 では不足している dll-s を同じフォルダーに配置しても機能せず、再配布可能ファイルをインストールする必要があります。マニフェストで問題が解決できると聞いたのを覚えていますが、これまでに遭遇したことはありません。

それで、どうすればそれを行うことができますか?

4

3 に答える 3

2

CRT、MFC、および使用するその他すべてのスタティック ライブラリとリンクします。Vista または Win7 で導入された Win32 API を使用していないことを確認してください (つまり、WIN32_WINNT <= 0x501 のままにしてください)。Dependency Walkerを使用して、実行可能ファイルがkernel32、user32、gdi32、またはデフォルトの Windows インストールにあることが保証されているその他のもののみをインポートするようにします。

于 2011-04-07T04:38:58.570 に答える
0

関心のあるすべてのバージョンの Windows の下位バイナリ互換性レポートも参照してください: https://abi-laboratory.pro/index.php?view=windows

また、バイナリ/dll が削除/変更されたシンボルをインポートするかどうかを確認します。

レポートはabi-compliance-checkerツールによって生成されています。

ここに画像の説明を入力

于 2011-08-10T17:23:43.107 に答える
0

c ランタイムを静的にリンクするのはどうですか? ただし、結果の実行可能ファイルは大きくなります。

于 2011-04-07T04:37:36.570 に答える