Visual C++ 2008 を使用して小さな Win32 アプリケーションを構築しようとしていますが、追加のライブラリを出荷したり、それらを静的にリンクしてサイズを肥大化させたりすることなく、最新の Windows マシンで実行したいと考えています。
このトピックに関するインターネット上の多くの記事を読みました: http://kobyk.wordpress.com/2007/07/2...visual-c-2005/
Visual Studio の新しいバージョンごとに変更される msvcr90 のような新しいランタイムとは対照的に、システム dll である最新の Windows にある msvcrt.dll に私のプロジェクトを動的にリンクすることをお勧めします。
そのため、リンカー オプションでは、すべての既定のライブラリ (/NODEFAULTLIB) を無視しました。追加の依存関係に msvcrt.lib を追加しました。
しかし、コンパイル時に次のような「未解決の外部シンボル」エラーが大量に発生します。
1>StubLib.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall std::bad_cast::~bad_cast(void)" (??1bad_cast@std@@UAE@XZ)
1>StubLib.obj : error LNK2001: unresolved external symbol "public: __thiscall std::bad_cast::bad_cast(char const *)" (??0bad_cast@std@@QAE@PBD@Z)
1>StubLib.obj : error LNK2001: unresolved external symbol "public: __thiscall std::bad_cast::bad_cast(class std::bad_cast const &)" (??0bad_cast@std@@QAE@ABV01@@Z)
1>StubLib.obj : error LNK2001: unresolved external symbol "long const std::_BADOFF" (?_BADOFF@std@@3JB)
また、Minicrt、WCRT などのサイズの肥大化を抑えるように設計された代替の C++ ランタイム ライブラリを使用しようとしましたが、いずれにしても「未解決の外部シンボル」エラーが発生します。
どんな助けでも大歓迎です、
前もって感謝します