スタティック ライブラリ (.lib) ファイルのコレクションがあり、そのうちの 1 つは別のバージョンの Visual Studio でビルドされている可能性があります。これにより、それらすべてに対してリンクするプロジェクトのコード生成が失敗します。スタティック ライブラリのコンパイルに使用された Visual Studio のバージョンを特定する方法はありますか?
26278 次
5 に答える
30
リリース ライブラリの場合、バージョンを特定できる可能性はほとんどありません。
デバッグ ライブラリの場合は、dumpbinを使用できます。
dumpbin /rawdata:1 library.lib
アセンブリ マニフェストはダンプの先頭にある必要があり、ライブラリのビルドに使用されるコンパイラへの完全なパスと共に、ライブラリが必要とする CRT のバージョンが含まれます。
実行可能ファイルと DLL の場合、dumpbin を使用してリンカーのバージョンを取得できます。「OPTIONAL HEADER VALUES」の下にあります
dumpbin /headers program.exe
他の誰かがリリース ライブラリのバージョンを取得する方法を知っているかもしれません。もしそうなら、私も確かに興味があります。
于 2009-10-09T01:46:42.827 に答える
-4
言語を指定しませんでしたが、C# では、OS と .NET のバージョン (実行時のコード内) を知るための答えは次のとおりです。
System.Version osVersion = System.Environment.OSVersion;
System.Version cliVersion = System.Environment.Version;
マネージ C++/CLI には同等のものがあります。
コンパイラやIDEのバージョンはわかりませんが、.NET ランタイムのバージョンはわかります。OS のバージョンを知る必要がある場合とない場合があります。
-ジェシー
于 2012-06-25T20:40:44.097 に答える