0

私は Visual Studio 2012 Professional を使用しており、私のプロジェクトは VS2008(v90) で構築された静的ライブラリを参照しています。VS2012(v110)でビルドすると、

error LNK1104: cannot open file 'mfc90.lib'

エラーが発生します。
この問題を修正するには、プラットフォーム ツールセットを変更するしかありませんか? .NET Framework 4.5 をターゲットにする必要があるため、これは解決策ではないと思います。(v90 で .NET Framework 4.0 を使用できないことはわかっています。間違っている場合は訂正して
ください) VS2012 プロジェクトで VS2008 でビルドされたライブラリを使用する方法を教えてください。
前もって感謝します!

ps。プラットフォーム ツールセットを変更することが問題を解決する唯一の方法である場合、さまざまなビジュアル スタジオ コンパイラでビルドされた複数のライブラリをどのように参照できますか? (たとえば、vs2008、vs2010、vs2012 でビルド)

編集: サードパーティ ライブラリ (ネイティブ C++) を .NET Framework で実行するためのラッパー プログラムを作成しています。問題は、VS2012 でビルドする必要があることですが、ライブラリは VS2008 でビルドされており、mfc90.lib が必要です (VS2012 には含まれていません)。

4

2 に答える 2

1

mfc90.lib の代わりに mfc110.lib にリンクすることで、プロジェクトを vs2012 (vs2008 から変換) でビルドすることができました。

于 2013-05-29T23:38:54.743 に答える
0

MFC ライブラリは、ターゲットとする .NET Framework のバージョンとは何の関係もないと思います。VS2012 には mfc110.lib のようなものがあり、おそらくこれを使用する必要があります。mfc90.lib を使用する場合は、次のフォルダーにある必要があります。

C:\Program Files\Microsoft Visual Studio 9.0\VC\atlmfc\lib

もちろん、このフォルダが存在するには VS2008 がインストールされている必要があります。

ただし、VS2012 はそのフォルダーでライブラリの依存関係を検索しないため、構成プロパティ |で完全なパスを指定する必要があります。リンカー | 入力 | 追加の依存関係

于 2013-03-11T02:41:43.440 に答える