LNK2028 неразрешенный токен при вызове WinINET из C ++ / CLI - PullRequest
0 голосов
/ 05 марта 2012

Начиная с IE 9.0.2 update мой аддон не работает. Мне нужно получить cookie-файл пользователя для правильной обработки действий, связанных с пользователем.

#include <windows.h>
#include <wininet.h>

void MyClass::Exec(String^ a, String^ b) {
    HANDLE hCacheDir; 
    DWORD size = 4096;
    INTERNET_CACHE_ENTRY_INFO entry;
    entry.dwStructSize = size;
    hCacheDir = FindFirstUrlCacheEntry(L"cookie:my.domain.com", &entry, &size);
    if (hCacheDir) {
        String^ file = gcnew String(entry.lpszLocalFileName);
        ...
    }
}

Когда я пытаюсь скомпилировать этот код C ++ / CLI, он выдает ошибку компиляции:

Ошибка 1, ошибка LNK2028: неразрешенный токен (0A00002E) "extern" C "void * __stdcall FindFirstUrlCacheEntryW (wchar_t const *, struct _INTERNET_CACHE_ENTRY_INFOW *, unsigned long *) "(? FindFirstUrlCacheEntryW @@ $$ J212YGPAXPB_WPAU_INTERNET_CACHE @ PAK @) @ упоминается в функции "public: static void __clrcall MyClass :: Exec (класс System :: String ^, класс System :: String ^) " (? Exec @ Degoli @@ $$ FSMXP $ AAVString @ System @@ 0 @ Z) * ​​1009 *

Я не очень знаком с C ++. Я предпочитаю C #. Что я могу с этим сделать?

1 Ответ

2 голосов
/ 05 марта 2012

Вам необходимо убедиться, что вы ссылаетесь на соответствующий файл lib.

Добавить Wininet.lib в Свойства проекта | Линкер | Вход | Дополнительные зависимости

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...