Я пытаюсь создать небольшое приложение Win32 с использованием Visual C ++ 2008, но я хочу, чтобы оно работало на любой современной машине с Windows без необходимости доставки дополнительных библиотек и без увеличения его размера, связывая их статически.
Я читал много статей в интернете на эту тему, например: http://kobyk.wordpress.com/2007/07/2...visual-c-2005/
Я понял, что хорошей идеей было бы динамически связать мой проект с msvcrt.dll, который можно найти в любом современномWindows является системной dll, в отличие от более новых сред выполнения, таких как msvcr90, которые меняются с каждой новой версией Visual Studio.
Так что в настройках компоновщика я игнорировал все библиотеки по умолчанию (/ 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)
Я также попытался использовать некоторые альтернативные библиотеки времени выполнения C ++, предназначенные для уменьшенияразмер блат как Minicrt, WCRT и т. д. но в любом случае я получаю "неразрешенный внешний symbol "ошибки.
Любая помощь с благодарностью,
заранее спасибо