Итак, у меня есть плата под управлением Windows 10 IoT и использующая для нее приложение UWP.У меня есть драйверы для конкретного ввода-вывода платы, работающие на плате, но теперь я хочу использовать предоставленную библиотеку для доступа и использования этого ввода-вывода.Если вы хотите также увидеть предоставленную библиотеку, найдите ее здесь (https://www.rtd.com/software/CM/CR/aDIO_windows_v05.04.00.zip)
Поскольку я более знаком с простым добавлением DLL-файла в качестве справочного материала и продолжением моего пути, я попробовал это в первую очередь.Возникла ошибка в компонентах COM или что-то в этом роде. Поэтому я связался с производителем платы относительно того, как мне следует приступить к установке этой библиотеки. Они отправили меня на эту страницу (https://docs.microsoft.com/en-us/cpp/porting/how-to-use-existing-cpp-code-in-a-universal-windows-platform-app?view=vs-2019#targetText=Porting%20a%20C%2B%2B%20Library%20to%20a%20Windows%20Runtime%20Component&targetText=You%20can%20use%20it%20in,app%20code%2C%20regardless%20of%20language), что имеет смысл, поскольку драйверы находятся в библиотеке c ++.
Я следовал Чтобы перенести собственную DLL в UWP без создания нового раздела проекта . Я добрался до шага 6 без проблем. При перестройке после шага 6 я получил ошибкупоговорка Использование статической версии библиотеки времени исполнения C ++ не поддерживает (http://prntscr.com/pazh69). Обыскал ее и сказал, что мне нужно изменить дополнительную настройку.
Так что я сделал Right-Нажмите «Проект»> «Свойства»> «C / C ++»> «Генерация кода» и переключите библиотеку «RunTime» на «/ MDd». Это, похоже, устранило эту ошибку. Попытка перестроить снова.
Далее я получилЭта проблема не позволяет использовать исходные файлы .c с флагом / ZW, который я включил ранее из руководства Microsoft.Поэтому я вошел в каждый из исходных файлов и убрал флаг / ZW только из них.
Наконец, снова перестроил и получил эту ошибку: http://prntscr.com/pazidr
неразрешенный внешнийсимвол ошибка.Я не смог найти эффективного решения для этого, и, поскольку это, очевидно, не моя библиотека, я очень озадачен тем, с чего начать, даже пытаться отлаживать это.
Я предполагаю, что мой общий вопрос: 1Можно ли конвертировать эту библиотеку для использования в UWP?2. Является ли проблемой то, что исходные файлы являются файлами .c, а не файлами .cpp?3. Есть ли решение этой конкретной проблемы, позволяющее мне иметь работающую библиотеку UWP?4. Есть ли другой / лучший процесс для выполнения того, что я пытаюсь выполнить?
Заранее большое спасибо, я знаю, это здоровенный вопрос.