2009-03-28 2 views

ответ

5

Я думаю, что вам нужно найти ссылку Linker -> Input property для вашего проекта и сообщить ей, чтобы специально игнорировать msvcrtd.dll/msvcrt.dll, а затем явно ссылаться на нужную версию (полный путь). Не уверен, что произойдет, если у них будет одно имя ...

1

Я думаю, что Microsoft конкретно говорит: «Не делай этого». Дело в том, что msvcrt.dll теперь считается частью ОС, а не частью какого-либо конкретного приложения, а не распространяемым. MS может обновить его с помощью пакета обновления и может существенно изменить поведение, как это было с XP SP2. Что бы разорвать приложения! Итак ... Don't Do It.

+1

Если вы создаете приложение ur с помощью vs2008, он будет полагаться на msvcr09.dll, который существует в папке winsxs, а не в папке windows \ system32. –

+0

Я не знаю, на какой вопрос вы отвечаете, но, конечно, это не тот, который задал Джимми. .. –

3

VS - это только IDE. Вы можете использовать его для сборки со старым набором инструментов, но для этого требуется некоторая настройка - вам нужно установить две параллельные VS-установки (например, VS2008 + vs6) и загрузить различные VSARGS. Смотрите это отлично step by step от Bojan Resnik.

Обратите внимание, что в VS2010 это решение не применимо - оно содержит новые настройки для каждого проекта -> общие -> "набор инструментов платформы". При необходимости установите this и вручную обновите настройки проекта -> Каталоги VC++ (или вручную измените значение по умолчанию settings).

+0

Привет, я установил Daffodil в соответствии с вашим комментарием, но я не уверен, что делать с каталогами VC++. Не могли бы вы дать мне несколько советов по этому поводу? – Vermin

+0

Ну, IIRC, после установки этого инструмента вам нужно всего лишь выбрать toolchain (а ​​не модифицировать VC-каталоги ...). См. Http://blogs.msdn.com/b/vcblog/archive/2009/12/08/c-native-multi-targeting.aspx в разделе «Как включить собственный многотаргетинг?». –

Смежные вопросы