Вот мой сценарий.
У меня есть существующее решение в visualstudio, которое содержит 15 проектов.
В некоторых проектах мне нужно использовать управляемые расширения C ++. Итак, сначала у меня есть обходной путь для примера решения, содержащего 4 проекта в тех, которые я поддерживал зависимости ч / б их.
и моё решение тоже построено.
Я применяю ту же процедуру к существующему решению, добавляя дополнительный проект, который содержит управляемый код. Поэтому я включаю CLR в вызывающем проекте (откуда я вызываю новые добавленные методы проекта из существующих ex: demoproj ), а также проект, который содержит main (). и изменить время выполнения с / mtd (существующий содержит / mtd) на / mdd.
когда я строю demoproj , он полностью строит успех. Но когда я строю проект, который содержит main (), он выдает много ошибок, таких как
LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
LIBCMTD.lib(winxfltr.obj) : error LNK2005: __XcptFilter already defined in MSVCRTD.lib(MSVCR80D.dll)
LIBCMTD.lib(invarg.obj) : error LNK2005: __invalid_parameter already defined in MSVCRTD.lib(MSVCR80D.dll)
LIBCMTD.lib(invarg.obj) : error LNK2005: __invoke_watson already defined in MSVCRTD.lib(MSVCR80D.dll)
LIBCMTD.lib(crt0.obj) : error LNK2005: _mainCRTStartup already defined in MSVCRTD.lib(crtexe.obj)
LIBCMTD.lib(fclose.obj) : error LNK2005: _fclose already defined in MSVCRTD.lib(MSVCR80D.dll)
LIBCMTD.lib(printf.obj) : error LNK2005: _printf already defined in MSVCRTD.lib(MSVCR80D.dll)
LIBCMTD.lib(mbstowcs.obj) : error LNK2005: _mbstowcs already defined in MSVCRTD.lib(MSVCR80D.dll)
Я обнаружил, что это произошло из-за использования параметра / clr, я думаю, что любая идея ???
Но этот случай не является случаем для моего тестового решения. Как решить эту проблему
Любая помощь с благодарностью