2010-08-11 3 views
9

мне нужно изменить среду выполнения C, который поставляется с VS2010, так как CRT 2010 опирающийся на функциях, выпущенных в Windows XP SP2, и мне нужно, чтобы иметь возможность развернуть на Windows 2000.Как я могу создать библиотеку времени выполнения VS 2010?

В частности, мне нужно удалить все и все звонки в EncodePointer и DecodePointer.

Источник для среды выполнения C включен в C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ crt \ src, поэтому кажется, что должно быть возможно построить среду выполнения после незначительной модификации источника ,

О, мне не нужно создавать динамические версии среды выполнения - только статические версии. (Я не могу полагаться на пользователя, устанавливающего CRT в своей системе).

С VS2008 и ранее, был учебник в MSDN с описанием, как построить CRT, но я не могу найти его на 2010

ли такое возможно?

+0

Возможный обман: http://stackoverflow.com/questions/2484511/can-i-use-visual-studio-2010s-c-compiler-with-visual-studio-2008s-c-runtime –

+0

@Clark: Нет , этот вопрос касается использования CRT VS2008 с VS2010. Здесь я спрашиваю, могу ли я использовать CRT VS2010, но модифицирую его, чтобы самостоятельно удалить зависимость. –

+0

Я вижу. Хорошо. /15chars –

ответ

6

Вот MSDN link. Похоже, вам нужно сделать это самостоятельно в VS2010.

Вы можете использовать следующие параметры компилятора и компоновщика, чтобы перестроить библиотеки MFC, CRT и ATL. Начиная с Visual C++ 2010, скрипты для перестройки этих библиотек больше не отправляются.

+1

Damnit. Так что в основном я ввернута. :( –

+0

@Billy: Не так сильно ввернуто, что сталкивается с трудностями в создании проекта для создания CRT. –

+1

Да, но я не знаю, какие файлы на самом деле находятся в CRT. Это затрудняет настройку проекта. –

0

Если это вариант, я бы предпочел использовать набор инструментов VC++ 2008 в VS2010 вместо создания пользовательского CRT. Процедура объясняется here.

+0

Вот что я уже делаю. Причина, по которой действительно воняет, заключается в том, что я хотел бы использовать такие вещи, как 'std :: unique_ptr', и перемещать семантику, которые доступны только с компилятором VS 2010. –

+0

Я согласен, я упомянул это решение только в том случае, если вы не подумали об этом. Удачи. – KeatsPeeks

0

«О, мне не нужно, чтобы иметь возможность строить динамические версии среды выполнения - статические версии только.»

Поскольку вам требуется только статическое связывание, вы можете попробовать трюк this, чтобы обеспечить реализацию EncodePointer и DecodePointer.

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