Winbio.h Нет такой ошибки в файле или каталоге

Я испытываю некоторый dificulty в компиляции этого учебника из msdn: http://msdn.microsoft.com/en-us/library/windows/desktop/ee207405(v=vs.85).aspx. Как упоминалось в названии, я получаю No такой файл или каталог во время компиляции даже после связывания winbio.lib, сгенерированного с использованием команд dumpbin и LIB в VS 2008, и это код:

#include <iostream>
#include <windows.h>
#include <stdio.h>
#include <conio.h>
#include <winbio.h>

HRESULT CaptureSample();

int main(int argc, char** argv) {
HRESULT CaptureSample();
return 0;
}
 HRESULT CaptureSample()
{
HRESULT hr = S_OK;
WINBIO_SESSION_HANDLE sessionHandle = NULL;
WINBIO_UNIT_ID unitId = 0;
WINBIO_REJECT_DETAIL rejectDetail = 0;
PWINBIO_BIR sample = NULL;
SIZE_T sampleSize = 0;

// Connect to the system pool. 
hr = WinBioOpenSession( 
 WINBIO_TYPE_FINGERPRINT, // Service provider
 WINBIO_POOL_SYSTEM, // Pool type
 WINBIO_FLAG_RAW, // Access: Capture raw data
 NULL, // Array of biometric unit IDs
 0, // Count of biometric unit IDs
 WINBIO_DB_DEFAULT, // Default database
 &sessionHandle // [out] Session handle
 );
if (FAILED(hr))
{
 wprintf_s(L"\n WinBioOpenSession failed. hr = 0x%x\n", hr);
 goto e_Exit;
}

// Capture a biometric sample.
wprintf_s(L"\n Calling WinBioCaptureSample - Swipe sensor...\n");
hr = WinBioCaptureSample(
 sessionHandle,
 WINBIO_NO_PURPOSE_AVAILABLE,
 WINBIO_DATA_FLAG_RAW,
 &unitId,
 &sample,
 &sampleSize,
 &rejectDetail
 );
if (FAILED(hr))
{
 if (hr == WINBIO_E_BAD_CAPTURE)
 {
 wprintf_s(L"\n Bad capture; reason: %d\n", rejectDetail);
 }
 else
 {
 wprintf_s(L"\n WinBioCaptureSample failed. hr = 0x%x\n", hr);
 }
 goto e_Exit;
}

wprintf_s(L"\n Swipe processed - Unit ID: %d\n", unitId);
wprintf_s(L"\n Captured %d bytes.\n", sampleSize);
e_Exit:
if (sample != NULL)
{
 WinBioFree(sample);
 sample = NULL;
}

if (sessionHandle != NULL)
{
 WinBioCloseSession(sessionHandle);
 sessionHandle = NULL;
}

wprintf_s(L"\n Press any key to exit...");
_getch();

return hr;
}
</winbio.h></conio.h></stdio.h></windows.h></iostream>
2 ответа

использование команд dumpbin и LIB в VS 2008

Конечно, вы используете старую версию Windows SDK. VS2008 поставляется с версией 6.0. Однако этот api стал доступен только в Windows 7, выпущенном в 2009 году. Вам нужно будет обновить свой SDK, я рекомендую версию 7.1


Попробуйте загрузить комплекты Windows (8.0 или 8.1) - по крайней мере, там, где у меня есть Winbio.h. Он устанавливается с Visual Studio 2012, но может быть загружен отдельно.

licensed under cc by-sa 3.0 with attribution.