2003よ、お前もか [戯言]
Visual C++ 7.1 (Visual Studio .NET 2003)で、次のようなプログラムを書いていました。
- コンソールアプリケーション
- MFCを使用
- MFCはスタティックライブラリ
ここまでは、何の問題も無かったのです。
STLのvector
を使ったら、リンクが通らなくなりました。
「operator new(size_t)
が2重に定義されている」とか言われます。
エラーとして表示されているのは、msvcp71.lib だけど、もう1つの定義場所はヘッダファイル「new」だろうか……。
MFCをスタティックライブラリではなく共有DLLで使うようにすれば解決するんだけど、そうすると今度はMFCのDLLを配布しなければならなくなるのですよ。
なぜ、こうまでVC++とSTLは相性が悪いのか。
今日の一冊 | |
|
タグ:VisualC++
2009-04-04 09:54
nice!(0)
コメント(0)
トラックバック(0)
コメント 0