我尝试编写一个简单的程序来从网站获取信息。我无法编译,因为我收到InternetReadFile,InternetOpenUrl等的LNK2019错误,例如。
1> GetInternetInfo.obj:错误LNK2019:函数_main中引用了未解析的外部符号_ imp _InternetReadFile @ 16
我认为这意味着我没有定义这些功能,我没有包含正确的库。我认为包括#include会修复它,但它似乎没有帮助。我在使用C ++的Visual Studio 2010上运行它。以下是我的计划。任何帮助表示赞赏。
#include <string>
#include <iostream>
#include <fstream>
#include <windows.h>
#include <wininet.h>
#include <winsock.h>
#include <stdio.h>
#include <stdarg.h>
using namespace std;
int main()
{
HINTERNET hOpen, hURL;
LPCWSTR NameProgram = L"Webreader"; // LPCWSTR == Long Pointer to Const Wide String
LPCWSTR Website;
char file[101];
unsigned long read;
//Always need to establish the internet connection with this funcion.
if ( !(hOpen = InternetOpen(NameProgram, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0 )))
{
cerr << "Error in opening internet" << endl;
return 0;
}
Website = L"http://www.google.com";
hURL = InternetOpenUrl( hOpen, Website, NULL, 0, 0, 0 ); //Need to open the URL
InternetReadFile(hURL, file, 100, &read);
while (read == 100)
{
InternetReadFile(hURL, file, 100, &read);
file[read] = '\0';
cout << file;
}
cout << endl;
InternetCloseHandle(hURL);
return 0;
}
答案 0 :(得分:6)
请在项目设置中包含“Wininet.lib”。
项目 - &gt;属性 - &gt;配置属性 - &gt;链接器 - &gt;输入 - &gt;其他依赖关系
答案 1 :(得分:3)
您也可以在include部分之后将此行添加到代码中,而不是将库添加到属性中:
#pragma comment(lib, "wininet.lib")
答案 2 :(得分:2)
您是否已链接到wininet.lib
?
http://msdn.microsoft.com/en-us/library/aa385103(VS.85).aspx