豚吐露@wiki

2003のprojectを2008でbuildしようとするとlink errorが起きる

最終更新:

Bot(ページ名リンク)

- view
管理者のみ編集可

2003のprojectを2008でbuildしようとするとlink errorが起きる

Visual C++ 2003
Visual C++ 2008
Windows XP

Visual Studio .Net 2003のVC++ projectをVisual Studio 2008でbuildしようとするとmfc71.libでlink errorが起きてしまう。(´・ω・`)

まず
VisualStudio .Net2003 2008
MFC mfc71.lib
mfcs71.lib
mfc90.lib
mfcs90.lib
なので、2003で作られたprojectがmfc71.libを求めるのは至極当然な気がしないでもない。
が、環境は2008なのでmfc90.libでlinkしてもらいたい。

まず、project名を右クリックして『プロパティ』を選択。
ダイアログ左のtreeから[構成プロパティ]-[リンカ]-[全般]の『進行状況の表示』を『詳細情報をすべて表示 (/VERBOSE)』に変更してbuildする。と、build logにもう少し詳しい情報が吐かれるようになる。

build logから『mfc』で検索するとmfc90.libとmfc71.libが見つかることを確認。
確認できたら、projectのプロパティダイアログのtreeから[構成プロパティ]-[リンカ]-[コマンドライン]を表示。
ココの追加のオプションに『/NODEFAULTLIB:mfc71.lib』『/NODEFAULTLIB:mfcs71.lib』と2行追記する。

そしたらもう一回buildすると『mfc71.lib』のところでlink errorにはならないハズ。
/NODEFAULTLIB http://msdn.microsoft.com/ja-jp/library/3tz4da4a(v=vs.90).aspx
/DEFAULTLIB http://msdn.microsoft.com/ja-jp/library/229a6ysd(v=vs.90).aspx



更新日: 2014年06月18日 (水) 10時47分21秒

名前:
コメント:

すべてのコメントを見る
記事メニュー
ウィキ募集バナー