2012-03-04 21 views
0

由於IE 9.0.2 update我的插件無法正常工作。我需要獲取用戶cookie以正確處理用戶相關的操作。從C++/CLI調用WinINET時LNK2028無法解析令牌

#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代碼,它拋出一個編譯錯誤:

Error 1 error LNK2028: unresolved token (0A00002E) "extern "C" void * __stdcall FindFirstUrlCacheEntryW(wchar_t const *,struct _INTERNET_CACHE_ENTRY_INFOW *,unsigned long *)" ([email protected]@[email protected]@[email protected]) referenced in function "public: static void __clrcall MyClass::Exec(class System::String ^,class System::String ^)" ([email protected]@@[email protected]@@[email protected])

我不是很熟悉C++的東西。我更喜歡C#。我能用它做什麼?

回答

2

您需要確保鏈接到適當的lib文件。

將Wininet.lib添加到項目屬性|鏈接器|輸入|額外的依賴關係

+0

我添加了wininet並構建成功。非常感謝! – 2012-03-05 14:45:25

相關問題