Конфигурация проекта для разработки API в CppWinRT Runtime Component, который использует библиотеку C ++ / CX - PullRequest
0 голосов
/ 22 февраля 2019

Я хочу настроить следующие проекты (примерно):

  • APP: приложение UWP C #
  • LIB: проект CppWinRT для создания API C ++ / WinRT с использованием CORE
  • CORE: проект C ++ / CX, который использует расширение среды выполнения Windows (написано со стандартом C ++ 14)

Еще одна деталь CORE требует Требуется расширение среды выполнения Windows: ДА на уровне проекта, а также отдельные файлы, использующие расширение среды выполнения Windows

Я не могу преобразовать CORE в C ++ / WinRT, поскольку для этого требуется соответствие стандарту C ++ 17, которыйбудет слишком много усилий для меня.

Я могу сохранить LIB , поскольку использует расширение среды выполнения Windows ДА / НЕТ в обе стороны.

проблема здесь

сохранение LIB как использует расширение среды выполнения Windows: НЕТ Я получаю следующую ошибку:

Error   LNK2005 __crtWinrtInitType already defined in MSVCRTD.lib(app_appinit.obj)  RuntimeComponent1   C:\Users\arpsingh\source\repos\WinrtApp\RuntimeComponent1\vccorlibd.lib(init.obj)

Error   LNK2038 mismatch detected for 'vccorlib_lib_should_be_specified_before_msvcrt_lib_to_linker': value '1' doesn't match value '0' in MSVCRTD.lib(app_appinit.obj) RuntimeComponent1   C:\Users\arpsingh\source\repos\WinrtApp\RuntimeComponent1\vccorlibd.lib(init.obj)

сохранение LIB как использует расширение среды выполнения Windows: ДА Любые API, написанные на LIB недоступны в APP

Пример репозитория git для всего этого кода https://github.com/arpit92k/WinrtApp

...