Сначала кратко, что я хочу сделать. В модуле Http есть класс FHttpRequestWinInet с методом StartRequest(). В этом методе есть такие строки:
Код:
// Disable certificate checks
::DWORD SecurityFlags = SECURITY_FLAG_IGNORE_REVOCATION;
if (!InternetSetOption(RequestHandle, INTERNET_OPTION_SECURITY_FLAGS, (LPVOID)&SecurityFlags, sizeof(::DWORD)))
{
UE_LOG(LogHttp, Warning, TEXT("InternetSetOption failed: %s"), *InternetTranslateError(GetLastError()));
}
Что намекает на то, что отключена проверка сертификатов и это меня не устраивает. Не хотелось бы собирать из исходников и иметь свою версию движка, поэтому пытаюсь унаследоваться от этого класса и переписать некоторые методы.
Так вот, одна из проблем, с которой я столкнулся, это не получается создать экземпляр этого класса.
Код:
FHttpRequestWinInet* WinHttpRequest = new FHttpRequestWinInet();
получаю:
Код:
error LNK2019: ссылка на неразрешенный внешний символ "public: __cdecl FHttpRequestWinInet::FHttpRequestWinInet(void)" (??0FHttpRequestWinInet@@QEAA@XZ) в функции "public: void __cdecl UJsonFieldData::PostRequest(class UObject *,class FString const &)" (?PostRequest@UJsonFieldData@@QEAAXPEAVUObject@@AEBVFString@@@Z)
Видимо, я что-то не понимаю в анриловской системе или C++.
При попытке наследования тоже ошибки линковки, но сначала хочу разобраться в этом, т.к. догадываюсь что не понимаю что-то фундаментальное.