豚吐露@wiki
2003のprojectを2008でbuildしようとするとlink errorが起きる
最終更新:
Bot(ページ名リンク)
-
view
2003のprojectを2008でbuildしようとするとlink errorが起きる
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してもらいたい。
が、環境は2008なのでmfc90.libでlinkしてもらいたい。
まず、project名を右クリックして『プロパティ』を選択。
ダイアログ左のtreeから[構成プロパティ]-[リンカ]-[全般]の『進行状況の表示』を『詳細情報をすべて表示 (/VERBOSE)』に変更してbuildする。と、build logにもう少し詳しい情報が吐かれるようになる。
ダイアログ左のtreeから[構成プロパティ]-[リンカ]-[全般]の『進行状況の表示』を『詳細情報をすべて表示 (/VERBOSE)』に変更してbuildする。と、build logにもう少し詳しい情報が吐かれるようになる。
build logから『mfc』で検索するとmfc90.libとmfc71.libが見つかることを確認。
確認できたら、projectのプロパティダイアログのtreeから[構成プロパティ]-[リンカ]-[コマンドライン]を表示。
ココの追加のオプションに『/NODEFAULTLIB:mfc71.lib』『/NODEFAULTLIB:mfcs71.lib』と2行追記する。
確認できたら、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秒