Ошибка линковки при использовании функции SetupAPI
От: Mike0x0  
Дата: 05.07.11 00:53
Оценка:
Использую Visual C++ 2008 и WTL 8.1.
В одном из модулей нужно вызывать функции SetupAPI.
В cpp-файле подключаю заголовочные файлы:

    #include <windows.h>
    #include <setupapi.h>
    #include <devguid.h>
    #include <regstr.h>


в одной из функций делаю вызов:

        HDEVINFO h_Device_Info_Set = SetupDiGetClassDevs(&GUID_DEVINTERFACE_COMPORT, NULL, NULL, DIGCF_PRESENT | DIGCF_DEVICEINTERFACE);
        if (h_Device_Info_Set == INVALID_HANDLE_VALUE)
        {
            return false;
        }
        ...
        ...


Компиляция проходит нормально, но при линковке выдается сообщение об ошибке:

...
1>Linking...
1>....obj : error LNK2019: unresolved external symbol __imp__SetupDiGetClassDevsW@16 referenced in function ......
1>Debug\....exe : fatal error LNK1120: 1 unresolved externals
...


В настройках студии "VC++ Directories" в разделах "Include files" и "Library files" пробовал добавлять ссылки на каталоги SDK, установленные студией, так и отдельно мной вручную установленной "Microsoft Platform SDK" для Windows Server 2003 SP1. Т.е. пробовал все каталоги, в которых находил файлы SetupAPI.h, SetupAPI.Lib, и т.п.
Но безрезультатно.

Подскажите плиз куда рыть.
Re: Ошибка линковки при использовании функции SetupAPI
От: Centaur Россия  
Дата: 05.07.11 04:04
Оценка:
Здравствуйте, Mike0x0, Вы писали:

M>В одном из модулей нужно вызывать функции SetupAPI.


M>Компиляция проходит нормально, но при линковке выдается сообщение об ошибке:


1>>....obj : error LNK2019: unresolved external symbol __imp__SetupDiGetClassDevsW@16 referenced in function ......


Забыл указать Setupapi.lib в списке линкуемых библиотек?
Re[2]: Ошибка линковки при использовании функции SetupAPI
От: Mike0x0  
Дата: 06.07.11 16:49
Оценка:
Здравствуйте, Centaur, Вы писали:

C>Забыл указать Setupapi.lib в списке линкуемых библиотек?



Спасибо! Все получилось!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.