Устранение неполадок при компиляции образца модуля расширения Microsoft Windows UVC

0

В последнее время я пытаюсь активировать модуль расширения UVC (USB Video Class). Я сделал некоторый прогресс (получив vidcap_i.c от руководства от другого форума), но я не смог пройти из-за ошибок компиляции, и я надеюсь, что смогу получить помощь здесь. Я создал все необходимые файлы, которые я руководствовался образцом на сайте Microsoft, за исключением примера приложения.

Их содержание такое же, как и в образце ссылок UVC.

* Примечание: я немного запутался в строке, в которой говорится: "Скопируйте Extend.def из WIA, добавьте образец и отредактируйте его. Uvcxuplugn.def должен содержать".I надеюсь, что я правильно понял, - я скопировал файл extend.def из WDK в каталог c:\xu, отредактировал файл, добавил необходимый контент и сохранил его как файл Uvcuplugn.def.

После создания с использованием среды Build это результат компиляции:

C:\xu> Сборка -cZg

BUILD: компиляция и ссылка для AMD64

СТРОЙ: Время начала:

BUILD: проверка каталога c:\xu для компиляции файлов.

c:\xu Invalidating OACR warning log for 'root:amd64chk'

BUILD: создание сгенерированных файлов в каталоге c:\xu

Настройка OACR для "root: amd64chk" -

Запуск MIDL on - interface.idl

BUILD: компиляция каталога c:\xu

Компиляция - interface_i.c

Компиляция - vidcap_i.c

Компиляция - uvcxuplgn.cpp

1> ошибки в каталоге c:\xu

1> c:\xu\xuproxy.h(69): ошибка C2017: незаконная escape-последовательность

1> c:\xu\xuproxy.h(71): ошибка C2059: синтаксическая ошибка: '__uuidof'

1> c:\xu\xuproxy.h(71): ошибка C2017: незаконная escape-последовательность

1> c:\xu\xuproxy.h(71): ошибка C2332: 'struct': отсутствует имя тега

1> c:\xu\xuproxy.h(71): ошибка переопределения типа C2011: '': 'enum'

1> c:\xu\uvcxuplgn.cpp(7): ошибка C2143: синтаксическая ошибка: отсутствует ';' до '{'

1> c:\xu\uvcxuplgn.cpp(7): ошибка C2447: '{': отсутствует заголовок функции (формальный список старого стиля?)

1> c:\xu\uvcxuplgn.cpp(31): ошибка C2065: "ObjectMap": необъявленный идентификатор

Компиляция - stdafx.cpp

Компиляция - xuproxy.cpp

Building Library - objchk_win7_amd64\amd64\uvcxuplgn.lib

1> ссылка: ошибка LNK1181: невозможно открыть входной файл 'c:\xu\objchk_win7_amd64\amd64\uv cxuplgn.obj'

BUILD: Скомпилировать ошибки: не связывать каталог c:\xu

BUILD: Время окончания:

СТРОИТЬ: Готово

12 files compiled - 1 Warning - 8 Errors
1 library built - 1 Error

Я получаю те же ошибки, независимо от цели (x86, x64, ia64)

Теперь давайте рассмотрим ошибки один за другим, начиная с последнего:

LNK1181-> Не знаю об этой ошибке. Я сделал очистку сборки, и это не помогло

на всех. Но это, вероятно, самая простая ошибка для решения, надеюсь, что вы сможете мне дать

руководство по этому вопросу.

uvcxuplgn.cpp, строка 7, проблематичный синтаксис: BEGIN_OBJECT_MAP (ObjectMap).

Согласно документации Microsoft (http://msdn.microsoft.com/en-us/library/10fb0d3e(v=vs.90).aspx), эта директива определена в atlcom.h, которая включена в файл, поэтому Я действительно запутался в причине этой ошибки.

Последние ошибки относятся к последним 5 строкам файла заголовка прокси-сервера расширителя (не удается опубликовать здесь код из-за ошибок - проверьте эту страницу (http://msdn.microsoft.com/en-us/library/windows/hardware/ff568134(v = vs.85).aspx)

Опять же, не знаю, почему он не должен компилироваться. Надеюсь, что я смогу немного поучаствовать в этом вопросе. Извините за длинный пост, надеюсь, что вы могли бы помочь мне (и, вероятно, многим другим), которые борются с этим объектом расширения UVQ UVQ

Теги:
wdk
usb
directshow

1 ответ

0

Во-первых, вы всегда должны смотреть на первую ошибку, которая происходит. Остальные часто следуют за ошибками. Поэтому просто удалите неправильную escape-последовательность() в строке 69 и в строке 71 в xuproxy.h.

Ошибка связывания происходит только потому, что компилятор ранее не мог скомпилировать файлы.cpp, поэтому отсутствует объектный файл.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню