C++ 307 Errors when trying to include winhttp.h in visual studio 2010 -
i have big big problem. i'm trying use winhttp download file c++ , i'm using visual studio 2010 in order thing.
my problem program not compiling because generated 307 errors, refering winhttp.h
. mention have included file. problem? thanks!
there some:
------ build started: project: a, configuration: debug win32 ------ b. cpp a. cpp c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(50): error c2146: syntax error: missing ';' before identifier 'hinternet' c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(50): error c4430: missing type specifier - int assumed. note: c++ not support default-int c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(50): error c4430: missing type specifier - int assumed. note: c++ not support default-int c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(51): error c2143: syntax error: missing ';' before '*' c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(51): error c4430: missing type specifier - int assumed. note: c++ not support default-int c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(51): error c2378: 'hinternet': redefinition; symbol cannot overloaded typedef c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(50): see declaration of 'hinternet' c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(51): error c4430: missing type specifier - int assumed. note: c++ not support default-int c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(53): error c2146: syntax error: missing ';' before identifier 'internet_port' c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(53): error c4430: missing type specifier - int assumed. note: c++ not support default-int c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(53): error c4430: missing type specifier - int assumed. note: c++ not support default-int c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(54): error c2143: syntax error: missing ';' before '*' c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(54): error c4430: missing type specifier - int assumed. note: c++ not support default-int c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(54): error c2378: 'internet_port': redefinition; symbol cannot overloaded typedef c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(53): see declaration of 'internet_port' c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(54): error c4430: missing type specifier - int assumed. note: c++ not support default-int c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(95): error c2146: syntax error: missing ';' before identifier 'dwresult' c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(95): error c4430: missing type specifier - int assumed. note: c++ not support default-int c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(95): error c4430: missing type specifier - int assumed. note: c++ not support default-int c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(96): error c2146: syntax error: missing ';' before identifier 'dwerror' c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(96): error c4430: missing type specifier - int assumed. note: c++ not support default-int c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(96): error c4430: missing type specifier - int assumed. note: c++ not support default-int c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(107): error c2146: syntax error: missing ';' before identifier 'dwmajorversion' c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(107): error c4430: missing type specifier - int assumed. note: c++ not support default-int c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(107): error c4430: missing type specifier - int assumed. note: c++ not support default-int c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(108): error c2146: syntax error: missing ';' before identifier 'dwminorversion' c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(108): error c4430: missing type specifier - int assumed. note: c++ not support default-int c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(108): error c4430: missing type specifier - int assumed. note: c++ not support default-int c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(144): error c2146: syntax error: missing ';' before identifier 'dwstructsize' c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(144): error c4430: missing type specifier - int assumed. note: c++ not support default-int c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(144): error c4430: missing type specifier - int assumed. note: c++ not support default-int c: \program files (x86)\microsoft sdks\windows\v7.0a\include\winhttp. h(145): error c2146: syntax error: missing ';' before identifier 'lpszscheme'
now have problem. code:
#include <windows.h> #include <winhttp.h> #include <stdio.h> #include <iostream> using namespace std; #include <string.h> int main() { dword dwsize = 0; dword dwdownloaded = 0; lpbyte pszoutbuffer; bool bresults = false; hinternet hsession = null, hconnect = null, hrequest = null; // use winhttpopen obtain session handle. hsession = winhttpopen( l"internet explorer example", winhttp_access_type_default_proxy, winhttp_no_proxy_name, winhttp_no_proxy_bypass, 0 ); // specify http server. if( hsession ) hconnect = winhttpconnect( hsession, l"www.my-new-gadget.com", internet_default_https_port, 0 ); // create http request handle. if( hconnect ) hrequest = winhttpopenrequest( hconnect, l"get", l"index.php", null, winhttp_no_referer, null, null); // send request. if( hrequest ) bresults = winhttpsendrequest( hrequest, winhttp_no_additional_headers, 0, winhttp_no_request_data, 0, 0, 0 ); // end request. if( bresults ) bresults = winhttpreceiveresponse( hrequest, null ); handle hfile = createfile("d:\\index.php", generic_read|generic_write, file_share_read, null, open_always, file_attribute_normal, null); if (bresults) { { // check available data. dwsize = 0; if (!winhttpquerydataavailable( hrequest, &dwsize)) printf( "error %u in winhttpquerydataavailable.\n", getlasterror()); // allocate space buffer. pszoutbuffer = new byte[dwsize+1]; if (!pszoutbuffer) { printf("out of memory\n"); dwsize=0; } else { // read data. zeromemory(pszoutbuffer, dwsize+1); if (!winhttpreaddata( hrequest, (lpvoid)pszoutbuffer, dwsize, &dwdownloaded)) { printf( "error %u in winhttpreaddata.\n", getlasterror()); } else { //printf("%s", pszoutbuffer); dword wmwritten; bool fr = writefile(hfile, pszoutbuffer, dwsize, &wmwritten, null); int n = getlasterror(); } // free memory allocated buffer. delete [] pszoutbuffer; } } while (dwsize>0); } closehandle(hfile); // report errors. if (!bresults) printf("error %d has occurred.\n",getlasterror()); // close open handles. if (hrequest) winhttpclosehandle(hrequest); if (hconnect) winhttpclosehandle(hconnect); if (hsession) winhttpclosehandle(hsession); return 0; }
and output is:
------ build started: project: a, configuration: debug win32 ------ a.cpp c:\users\admin\documents\visual studio 2010\projects\a\a\a.cpp(73): warning c4800: 'bool' : forcing value bool 'true' or 'false' (performance warning) a.obj : error lnk2019: unresolved external symbol __imp__winhttpclosehandle@4 referenced in function _main a.obj : error lnk2019: unresolved external symbol __imp__winhttpreaddata@16 referenced in function _main a.obj : error lnk2019: unresolved external symbol __imp__winhttpquerydataavailable@8 referenced in function _main a.obj : error lnk2019: unresolved external symbol __imp__winhttpreceiveresponse@8 referenced in function _main a.obj : error lnk2019: unresolved external symbol __imp__winhttpsendrequest@28 referenced in function _main a.obj : error lnk2019: unresolved external symbol __imp__winhttpopenrequest@28 referenced in function _main a.obj : error lnk2019: unresolved external symbol __imp__winhttpconnect@16 referenced in function _main a.obj : error lnk2019: unresolved external symbol __imp__winhttpopen@20 referenced in function _main msvcrtd.lib(crtexew.obj) : error lnk2019: unresolved external symbol _winmain@16 referenced in function ___tmaincrtstartup c:\users\admin\documents\visual studio 2010\projects\a\debug\a.exe : fatal error lnk1120: 9 unresolved externals ========== build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
what problem? i'm trying 2 days make piece of program download file given url. it's driving me crazy! please me!
add #include <windows.h>
before #include <winhttp.h>
.
Comments
Post a Comment