■64457 / inTopicNo.3) |
Re[2]: libファイルがどのVS(.NET)で作成されたか知る方法 |
□投稿者/ howling (124回)-(2012/12/04(Tue) 12:43:13)
|
■No64456 (774RR さん) に返信
ご返信頂きありがとうございます。
> 既にあるとおり CLI 配下の「あせんぶり」だと、原則 .LIB を使う必要は無いので
その通りですね。これについては迷いも無いので、DLLを参照で追加するのみです。
> .LIB の「作ったコンパイラ」バージョンなるものが必要になる、としたら > - C++, C++/CLI などで作ったインポートライブラリ (対応する .DLL がある) > - C++, C++/CLI などで作った純粋静的ライブラリ (.LIB のみ)
はい、今回はこちらのいずれかの場合に、例えばlibをD&Dすると一覧が作られて、 「作ったコンパイラ」バージョンを教えてくれるような物が無いかな?と思ったので質問しました。
> インポートライブラリの場合 > 対応する DLL を dumpbin /dependents mytest1.dll のように dumpbin に食わせる。 > と MSVCR80D.DLL や MSVCM80D.DLL などの Visual C++ 系ライブラリが表示されるはず。 > http://msdn.microsoft.com/ja-jp/library/abx4dbyh(v=vs.80).aspx > http://msdn.microsoft.com/ja-jp/library/abx4dbyh(v=vs.90).aspx > などを見ればいろいろ判別可能なはず。
なるほど…。 今回実は、きっと大丈夫だろうけどもう1度取ってくる(コンパイルし直す / DLし直す)作業を半日くらいかけてやりました。 結果、解決したわけですが、上にも書いたような物があれば楽だったのになぁと…。 そこまではいかないにしても、これで確認できるのは良いですね。試してみます。
> 純粋静的ライブラリは CRT やコンパイラに依存しないように作ることが可能なので > 「こうすればいい」という一発回答は無いはずですよ。
これが可能なのかどうか?というのがちょっと謎だったりします。 今回出たXlen & Xranの外部参照エラーは前スレで調べた結果、 VS2008以前とVS2010以降が混在した場合に出る…ということだったのですが、 混在させてもこれを回避する方法はあるのでしょうか…? また、MT系とMD系が混ざった場合にもエラーが出るはずです。 その時点で、依存しないように作ることは不可能なのでは…?
|
|