Используйте winhttp в visual studio 6.0
Я поддерживаю устаревшее приложение, написанное на Visual Studio C++ 6.0.
Мне нужно заменить часть кода с вызовами сервера WinHTTP API-интерфейс.
Я создал небольшую демонстрацию в тестовом проекте Visual Studio 6.0, чтобы посмотреть, как пойдут дела.
Когда я строю код, я получаю следующую ошибку ( тот же код работает безупречно в Visual Studio 2013 ) :
fatal error C1083: Cannot open include file: 'winhttp.h': No such file or directory
Я добавил путь включения, как в этот[^] изображение.
Я добавил путь к библиотеке, как в этот[^] изображение.
После попытки компиляции я получаю это:
error C2146: syntax error : missing ';' before identifier 'dwResult' error C2501: 'DWORD_PTR' : missing storage-class or type specifiers error C2501: 'dwResult' : missing storage-class or type specifiers error C2065: '__in' : undeclared identifier error C2143: syntax error : missing ')' before 'const' warning C4229: anachronism used : modifiers on data are ignored error C2491: 'WinHttpTimeFromSystemTime' : definition of dllimport data not allowed error C2059: syntax error : ')' error C2065: '__in_z' : undeclared identifier error C2146: syntax error : missing ')' before identifier 'LPCWSTR' warning C4229: anachronism used : modifiers on data are ignored error C2491: 'WinHttpTimeToSystemTime' : definition of dllimport data not allowed error C2059: syntax error : ')' error C2065: '__in_ecount' : undeclared identifier error C2065: 'dwUrlLength' : undeclared identifier error C2146: syntax error : missing ')' before identifier 'LPCWSTR' warning C4229: anachronism used : modifiers on data are ignored error C2491: 'WinHttpCrackUrl' : definition of dllimport data not allowed error C2059: syntax error : ')' error C2146: syntax error : missing ')' before identifier 'LPURL_COMPONENTS' warning C4229: anachronism used : modifiers on data are ignored error C2491: 'WinHttpCreateUrl' : definition of dllimport data not allowed error C2059: syntax error : ')' error C2065: '__in_z_opt' : undeclared identifier error C2146: syntax error : missing ')' before identifier 'LPCWSTR' warning C4229: anachronism used : modifiers on data are ignored error C2491: 'WinHttpOpen' : definition of dllimport data not allowed error C2440: 'initializing' : cannot convert from 'int' to 'void *' Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast error C2059: syntax error : ')' error C2061: syntax error : identifier '__out_bcount_part' error C2061: syntax error : identifier '__in_bcount_opt' error C2061: syntax error : identifier '__out_data_source' error C2059: syntax error : 'return' warning C4518: '__declspec(dllimport ) ' : storage-class or type specifier(s) unexpected here; ignored error C2146: syntax error : missing ';' before identifier 'BOOL' fatal error C1004: unexpected end of file found
После перемещения вновь добавленных путей наверх я получил только одну ошибку:
c:\program files (x86)\microsoft sdks\windows\v7.1a\include\specstrings.h(11) : fatal error C1083: Cannot open include file: 'sal.h': No such file or directory
У меня есть копия/вставка
sal.h
и ConcurrencySal.h
в VC98 / Include и скопируйте / вставьте каталог CodeAnalysis
также.Теперь я получаю следующие ошибки:
c:\program files (x86)\microsoft visual studio\vc98\include\sal.h(708) : warning C4068: unknown pragma c:\program files (x86)\microsoft visual studio\vc98\include\sal.h(1472) : warning C4068: unknown pragma c:\program files (x86)\microsoft visual studio\vc98\include\sal.h(2866) : warning C4005: '__useHeader' : macro redefinition c:\program files (x86)\microsoft sdks\windows\v7.1a\include\sal_supp.h(57) : see previous definition of '__useHeader' c:\program files (x86)\microsoft visual studio\vc98\include\sal.h(2876) : warning C4005: '__on_failure' : macro redefinition c:\program files (x86)\microsoft sdks\windows\v7.1a\include\specstrings_supp.h(77) : see previous definition of '__on_failure' c:\program files (x86)\microsoft sdks\windows\v7.1a\include\winnt.h(3994) : warning C4035: 'ReadPMC' : no return value c:\program files (x86)\microsoft sdks\windows\v7.1a\include\winnt.h(4023) : warning C4035: 'ReadTimeStampCounter' : no return value c:\program files (x86)\microsoft sdks\windows\v7.1a\include\winnt.h(12804) : error C2144: syntax error : missing ';' before type 'int' c:\program files (x86)\microsoft sdks\windows\v7.1a\include\winnt.h(12804) : error C2501: '__inner_checkReturn' : missing storage-class or type specifiers c:\program files (x86)\microsoft sdks\windows\v7.1a\include\winnt.h(12804) : fatal error C1004: unexpected end of file found
ВОПРОС:
Не могли бы вы объяснить мне, как настроить проект на Visual C++ 6, чтобы он мог использовать WinHTTP API (конечно, если это вообще возможно) ?
Что я уже пробовал:
В данный момент я гуглю в поисках решения этой проблемы...